Skip to content

Built-in browser

Each session can show web pages in a browser pane beside its terminal and code. The agent in the session can drive the same pages: it opens your dev server, clicks through what it just built and reads the console, and you watch it happen in the window.

  • Select the globe button in the session header, next to the terminal and code buttons.
  • Or run Show browser pane from the command palette.
  • Or select Open on a dev server to open its page.

A session with no page yet shows an address field. Type localhost:3000 or a full URL and press Enter. Press ⌘L (Ctrl+L on Linux and Windows) to select the address, also from inside the page.

The toolbar has Back, Forward, Reload, the address, Open in the system browser, and Close browser. See panes to place the browser beside the terminal or code, or to move it into its own window.

A session’s browser has tabs in a strip above the address bar. + opens a tab and × closes one. Closing the last tab closes the browser. A link that asks for a new window opens a new tab.

While the browser pane has the keyboard:

  • ⌘T opens a tab and ⌘W closes it.
  • ⌘⇧[ and ⌘⇧] move to the previous and next tab.
  • ⌘1 to ⌘9 jump to a tab.

On Linux and Windows use Ctrl for ⌘. The app’s other shortcuts, such as ⌘K, also work while the page has the focus.

A session keeps its pages while you look at other sessions or hide the pane, so an agent can keep working on them. A green dot on the globe button marks a session with a page open that is not on screen.

Cookies and storage are kept across restarts, separate from the rest of the app, so a login to your dev server holds.

Only http and https pages load. Requests for the camera, notifications or location are refused.

The browser runs on your device, but for a session on a remote host, localhost means that host. Type localhost:3000 in such a session and the page loads from port 3000 on the host, over your existing ssh connection. The address field says which host localhost points to.

The page keeps the localhost address, so its cookies, redirects and hot reload work as they would in a browser on the host. Sessions on the same host share cookies; sessions on different hosts do not.

If ssh cannot forward the port, the page shows a 502 error with ssh’s message.

The agent reaches the browser through mocante’s MCP tools. Install them for your agent with Install agent MCP server… in the palette. See agent tools for the full list.

The tools act on the browser of the agent’s own session. A typical run looks like this:

  1. The agent opens a URL.
  2. It reads an outline of the page: headings, text, links, buttons and fields.
  3. It clicks, types into fields, and presses keys.
  4. It waits for the result, then reads the console or takes a screenshot to check it.

Password values are hidden from the outline.

The first time an agent drives the session’s browser, mocante asks you to approve it. The request shows in a bar under the session header, and as a desktop notification when the session is not on screen. You can also answer with Approve permission or Deny permission in the palette.

Running JavaScript in the page is a separate approval, and shows the code the agent wants to run. Each approval holds for the rest of the session.

Once an agent has driven the browser, a notice with a button to show it appears, and the address bar carries an agent mark.

  • Notices and context menus can be hidden behind the page. The page hides while the command palette or a dialog is open.
  • The agent cannot use the browser while no desktop app is connected.
  • Dev servers to open a running server with one click.
  • Agent tools for every tool an agent can call.
  • Links for links that open outside mocante.