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.allowincludes all 19mcp__Claude_Browser__*tool names- Claude Desktop config →
preferences.launchPreviewAllowedOriginsincludes 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:
- An origin already present in
launchPreviewAllowedOriginsshould not re-prompt per action, or - 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