Browser pane: user-typed URLs don't load until the session registers the origin via a tool call

Status Open
Reported on v2.1.246
Maintainer reply None cached
Activity 1 comment · opened Aug 31, 2026

Description

The in-app browser pane treats origins as session-scoped: a URL only loads after the model registers it through a preview_start/navigate tool call in that session. A URL the user types into the pane's address bar does nothing if no tool call has registered that origin yet — silently, with no error or prompt.

Repro

  1. Start a fresh Claude Code session (desktop app, macOS).
  2. Open the browser pane and type a URL for a reachable local service (e.g. an internal dashboard on the LAN — mine is a Caddy server at http://th.local/, which curl answers in ~6ms).
  3. Nothing loads.
  4. Ask Claude to open the same URL → it loads fine, and typed navigation works from then on.

Expected

Typing a URL into the pane's address bar navigates to it — or at minimum, origins the user has previously approved persist across sessions instead of being forgotten every new chat.

Why it matters

Any workflow anchored on an always-on local dashboard requires re-registering it every single session. The only workarounds are model-side (CLAUDE.md rules, PreToolUse hooks forcing a registration call), which are scaffolding around the pane and can't help when the user reaches the pane before the model does. Other agent IDEs' preview panes (e.g. Codex) navigate typed URLs directly.

Environment: Claude Code 2.1.246, macOS 26.7, desktop app browser pane (mcp__Claude_Browser__* tools).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗