Browser pane per-action origin permission prompt has no "Allow always" option, ignores settings.json/bypassPermissions

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 11, 2026

Description

For at least one origin, the Browser pane (mcp__Claude_Browser__* tools, e.g. javascript_tool) prompts for approval on every single action, even though every available configuration lever already grants access. The dialog only offers Deny / Allow once — there is no "Allow always" option, so the prompt cannot be permanently dismissed for a trusted origin.

Example prompt payload:

{
  "text": "const s=document.querySelector('[id$=\"...\"]'); ... (1625 chars)",
  "origin": "https://example.com"
}

What's already configured (and doesn't suppress it):

  • ~/.claude/settings.json → permissions.allow includes all 19 mcp__Claude_Browser__* tool names
  • Claude Desktop config → preferences.launchPreviewAllowedOrigins includes the origin in question
  • Claude Desktop config → folder permission mode for the project directory set to bypassPermissions

None of the above affects the per-action dialog. It appears to be an app/server-enforced gate that sits outside Claude Code's permission system entirely (settings.json, CLAUDE.md, skills, hooks all have no effect on it).

Expected behavior

Either:

  1. An origin already present in launchPreviewAllowedOrigins should not re-prompt per action, or
  2. The dialog should offer an "Allow always for this origin" option, consistent with how tool-level permissions work elsewhere in Claude Code.

Environment

  • Claude Desktop, Windows 11
  • Claude Code CLI, session running against a local Shopify theme repo, using the Browser pane to test live-rendered behavior (animations, focus states) that can't be verified via static fetch

View original on GitHub ↗