Goose browser MCP
Give Goose a browser that survives the agent session.
Hronaut is a visible Chromium browser that runs as its own app. Goose Desktop and CLI sessions connect over Streamable HTTP MCP, and your workspaces, sign-ins and tabs stay put when a Goose session ends.
Local MCP endpoint
http://127.0.0.1:47812/mcp
Run Goose and Hronaut on the same computer. The endpoint is loopback-only; a remote Goose process, container without host access, or another machine cannot reach it.
Choose the right browser
Goose browser tools or Hronaut?
Goose can load MCP extensions and install Agent Skills, including browser integrations maintained outside Hronaut. Use those when their browser ownership and session model fit.
Goose session
Task-owned browser tooling
Keep browser control inside the current Goose workflow when you do not need a separate, long-lived desktop profile.
Hronaut workspace
Browser state outside the task
A separately visible desktop app with durable named workspaces and explicit pause and takeover. Tabs and site state stay available to later Goose sessions or another compatible MCP client.
Step 1 · Connect
Connect Goose.
Start Hronaut first. Goose calls this a Remote Extension (Streamable HTTP) because it uses a network transport; the Hronaut address still stays on this computer.
Authentication off only
Install in Goose Desktop
Use the one-click installer only with a new or otherwise non-sensitive Hronaut profile whose MCP authentication is off.
The link contains only the fixed loopback endpoint and public metadata, never an owner token. Goose shows the extension before saving it.
Authentication off · manual
~/.config/goose/config.yaml
extensions:
hronaut:
type: streamable_http
name: hronaut
enabled: true
uri: "http://127.0.0.1:47812/mcp"
headers: {}
env_keys: []
envs: {}
timeout: 300Authentication on
Reference a Goose-managed secret from the header
extensions:
hronaut:
type: streamable_http
name: hronaut
enabled: true
uri: "http://127.0.0.1:47812/mcp"
headers:
Authorization: "Bearer ${HRONAUT_MCP_TOKEN}"
env_keys:
- HRONAUT_MCP_TOKEN
envs: {}
timeout: 300Turn on Require MCP authentication in Hronaut. Run goose configure, add Hronaut as a Remote Extension, and store HRONAUT_MCP_TOKEN as an extension secret. Goose resolves env_keys from the process environment or its secret store and substitutes the value into the header.
Prefer the operating-system keyring. On a headless system where Goose falls back to plaintext secrets.yaml, protect that file or launch Goose with the variable supplied by a trusted process. Never put the token directly in config.yaml, a custom-header value, URL, source control, chat, screenshots or campaign data.
Try it for one CLI session without saving
Authentication off · one session
Connect without saving
goose session --with-streamable-http-extension "http://127.0.0.1:47812/mcp"Goose documents this flag for temporary Streamable HTTP extensions. It contains no credential, so it works only while Hronaut authentication is off.
Step 2 · Verify
Check that it works.
Use a clean workspace for this check, before Goose goes near a signed-in page.
- 1
Goose sees Hronaut
Open Extensions in Goose Desktop and confirm that hronaut is enabled. Avoid pasting verbose configuration output into chat: resolved headers can contain credentials.
- 2
Hronaut sees Goose
Start a local Goose session, then open Hronaut Home. The Goose MCP client should appear under Connections.
- 3
Run a first browser task
Ask: “Create a Hronaut workspace named first-check, open https://example.com inside it, and tell me the page title and workspace ID. Start with clean scratch storage.”
Expected result: a visible
first-checkworkspace shows Example Domain. End the Goose session and start another one; the Hronaut workspace should remain.
Security
Protect your signed-in sessions.
Turn on authentication. A new Hronaut profile starts with MCP authentication off, so any process running as your user can control it. Enable authentication before you use valuable sign-ins, and review the extension and its tools before granting broad approval.
Treat web pages as untrusted. Websites can contain prompt injection, and a signed-in workspace carries the authority of every site in it. Pause MCP before you enter passwords, security keys, payment details or other human-only information.
Keep the endpoint local. Do not expose or tunnel Hronaut to make a remote Goose process reach 127.0.0.1. Hronaut is designed for a local coding client and validates a loopback security boundary.
Keep going
Next steps.
Give every durable browser job its own named workspace. It keeps cookies and storage apart from other workspaces and stays available to the next Goose session or another local MCP client. Learn how to hand off a login safely.
Sources
- Official Goose extension guide — Streamable HTTP setup, custom headers, local configuration and
goose://extensionlinks. - Official Goose configuration reference —
streamable_http,uri, headers and extension settings. - Official Goose CLI reference —
goose infoand temporary Streamable HTTP extension flags. - Official Goose browser-skill change — current first-party guidance for installing an external Browser Use skill.
- Hronaut reference — loopback transport, authentication, workspace isolation, persistence and human controls.
Hronaut is an independent project and is not affiliated with or endorsed by the Goose project or the Agentic AI Foundation.