Skip to content

[FEATURE]: Integrated browser for desktop #26772

Closed

Description

@AlexDelgado20

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

I would like OpenCode Desktop to include an integrated browser workspace.

The goal is to let users inspect and interact with web pages without switching to an external browser. This would be useful for tasks where the agent needs browser context, screenshots, console messages, page annotations, or form interaction.

Proposed behavior:

  • Add an embedded browser panel in the desktop app.
  • Allow opening pages from prompts like /browser <task> or @browser.
  • Let users annotate elements on the page and send those annotations as chat context.
  • Let users take screenshots and attach them directly to chat.
  • Expose integrated browser tools to the agent for navigation, inspection, clicking, typing, screenshots, and console messages.
  • Add a setting to enable or disable automatic integrated browser tools.

Activity

  1. github-actions commented on May 10, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    Please review those issues and their discussion before this proceeds, to avoid duplicated effort.

  2. AlexDelgado20 commented on May 23, 2026

    @AlexDelgado20
    Author

    Hey team, I wanted to follow up on the duplicate flag and clarify why this is not a duplicate of either #6992 or #20490.

    Why this is different from #6992 ("Browser automation like Claude in Chrome")

    #6992 is about agent-driven browser automation — having the AI agent autonomously navigate websites, click buttons, fill forms, and extract data. That's a tool/runtime concern: the agent controls a headless or headed browser programmatically.

    This feature is a UI panel — an embedded WebView (Chromium via Electron) that lets the user browse the web inside the desktop app without context-switching to an external browser. It's a workspace surface, not an agent tool. The agent would see what the user is looking at, but the primary interaction model is human-driven browsing alongside the chat.

    Why this is different from #20490 ("Computer Use / Desktop Control")

    #20490 is about full desktop control — screenshots, mouse clicks, keyboard input across any GUI app. That's a multi-OS, multi-display-server challenge (X11, Wayland, macOS, Windows DPI scaling).

    This feature is single-purpose: render web content inside a Chromium-powered panel in the desktop app. No screenshots, no OS-level input simulation, no cross-app automation. It's a contained, well-understood integration using Electron's existing rendering engine.

    What this feature actually is

    • A browser panel (togglable, resizable) inside the desktop app's workspace
    • Built on Electron's Chromium engine — no external dependencies
    • Lets users view documentation, preview apps, test UIs, or browse reference material alongside the chat
    • The agent can see the active URL and page content for context
    • Starts simple (navigation bar, tabs, basic web rendering) and can grow toward deeper agent integration later

    I understand the concern about duplicated effort — both #6992 and #20490 are adjacent. But they address the agent acting on the browser, while this addresses the user having a browser inside the workspace. Different interaction model, different architecture, different scope.

    Happy to split the work into smaller, focused PRs or discuss any maintainer concerns.

  3. nickchomey commented on May 28, 2026

    @nickchomey

    Yes, this would be fantastic. This is the main thing that is making me begrudgingly stick with VSCode Github Copilot Chat (now using OpenCode Zen/Go API key, since copilot got rugpulled)

  4. HDerwyn commented on May 29, 2026

    @HDerwyn

    Hello, is this being worked? I am really interested in this feature

  5. AlexDelgado20 commented on May 29, 2026

    @AlexDelgado20
    Author

    Hello, Yes, this used to work at the time, but with the recent OpenCode interface changes I have to recompile and update the code. But I am not motivated since it was not given follow-up.

  6. m13v commented on May 30, 2026

    @m13v

    the pattern with bolting a browser into a desktop agent is that the hard part isn't rendering, it's session ownership. once you expose navigate/click/type to the agent AND let the user annotate the same page, they fight over one cursor and one DOM, so the agent clicks mid-annotation and the context sent to chat is already stale. the desktop tools that get this right keep a background browser the agent drives separately from the pane the user inspects, and gate each agent action behind an explicit approve step. the enable/disable toggle you mention is really an approval-surface question, not a feature flag.

  7. HDerwyn commented on May 30, 2026

    @HDerwyn

    the pattern with bolting a browser into a desktop agent is that the hard part isn't rendering, it's session ownership. once you expose navigate/click/type to the agent AND let the user annotate the same page, they fight over one cursor and one DOM, so the agent clicks mid-annotation and the context sent to chat is already stale. the desktop tools that get this right keep a background browser the agent drives separately from the pane the user inspects, and gate each agent action behind an explicit approve step. the enable/disable toggle you mention is really an approval-surface question, not a feature flag.

    Another option is to just lock the browser while the agent is doing its thing, suppress clicks, scrolls, and typing from the user so they don't accidentally step on each other. Once the agent finishes and goes idle, release the lock and let the user interact again. It's a lot simpler than running two browsers side by side, but the downside is the user can't watch what the agent is doing in real time; they have to wait until it's done to see the result.

  8. HDerwyn commented on May 30, 2026

    @HDerwyn

    Hello, Yes, this used to work at the time, but with the recent OpenCode interface changes I have to recompile and update the code. But I am not motivated since it was not given follow-up.

    i'm not really sure how this works to be honest, but if you already got some progress maybe you can upload it in a branch and we can continue together if you need help, this feature will increase the value of opencode matching other tool's features like codex which already has this implemented.

  9. leoncheng57 commented on Jun 28, 2026

    @leoncheng57

    FYI — there was a prior attempt at this in PR #26773 ("feat: add integrated browser workspace") by @AlexDelgado20, which implemented an embedded browser panel via Electron's BrowserView with /browser and @browser prompts, page annotations, screenshot-to-chat, and agent-exposed browser tools. It was closed without merging on 2026-05-11.

    Also FYI this missing feature is what made me quit using OpenCode last week, so I see it as extremely vital to add asap.

  10. kyjus25 commented on Jun 28, 2026

    @kyjus25

    extremely vital to add asap

    @leoncheng57 Yeah, agree here. This and the agent being able to read and write to the integrated terminal (PR 23794) are 2 very important missing features in my opinion. Hope we see movement on them.

  11. 311u1 commented on Jul 11, 2026

    @311u1

    I like how Cursor has this, also its cleaner becuase i can check and read PRs without leaving the window - Claude Code lacks this - they have chips but you have to switch between browser and agent workspace - so my 2cents is its more of a UX improvement in terms of where I see value - people testing UIs in localhost might like it too.

    Example of how it could be implemented

    Image
  12. Hona commented on Jul 11, 2026

    @Hona
    Member

    Without promising anything, this is something we want to look at after Desktop v2 launches

  13. kyjus25 commented on Jul 11, 2026

    @kyjus25

    Without promising anything, this is something we want to look at after Desktop v2 launches

    @Hona

    image

  14. 311u1 commented on Jul 13, 2026

    @311u1

    haha anthropic dropped this in Claude code desktop app just then - its like they are reading our mind

    Let me know if you want me to ship this for you guys so I have a place to escape to when they take away all my subsidies 😆😂

  15. NateSpencerWx commented on Jul 18, 2026

    @NateSpencerWx

    @Hona can you look at this now :)

  16. peng9627 commented on Sep 11, 2026

    @peng9627

    Hi @AlexDelgado20,

    Thank you for the update! It's completely understandable that open-source maintenance is tough, especially after major breaking API changes.

    I am a big fan of OpenCode and I really want to see this browser/webview feature come to life. I am planning to leverage an AI coding agent (Codex) to push this feature forward and handle the refactoring needed to adapt to the latest OpenCode APIs.

    To keep it lightweight, my implementation will use puppeteer-core to dynamically reuse the user's existing local Chrome/Edge installation, ensuring zero bundle-size bloating.

    If you don't mind, I would love to take over this task and drive the development. I will review the new API structure, implement a clean prototype, and open a Pull Request soon.

    Let's make this closed-loop automation happen together! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions