claude-code - 💡(How to fix) Fix [BUG] Cowork Chrome extension: JS execution permission prompts fire on every call during manual tasks — approvals do not persist [3 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#55124Fetched 2026-05-01 05:45:37
View on GitHub
Comments
3
Participants
3
Timeline
9
Reactions
0
Author
Timeline (top)
labeled ×6commented ×3

Error Message

Error Messages/Logs

No error messages — issue is behavioral. The permission dialog repeatedly appears with text similar to: These prompts fire on every individual JS execution call within a manual Cowork task, with no error or warning generated. Approvals do not produce any visible failure — they simply do not persist.

Code Example

No error messages — issue is behavioral. The permission dialog repeatedly appears with text similar to:

"Allow Claude to use the browser on [domain]?"
"Allow Claude to execute JavaScript on this page?"

These prompts fire on every individual JS execution call within a manual Cowork task, with no error or warning generated. Approvals do not produce any visible failure — they simply do not persist.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

During manual Cowork tasks (not scheduled), the Chrome extension prompts for permission on every single JavaScript execution against an already-approved domain. Approvals do not persist — even within the same prompt response on the same domain.

Symptoms:

  • "Allow Claude to use the browser on [domain]" / JS execution prompts fire repeatedly within a single manual Cowork task
  • Clicking "Allow" or "Always allow" on each prompt has no persistent effect — the next JS call on the same domain prompts again
  • Chrome extension options page → "Your approved sites" remains empty ("No sites have been approved yet") despite hundreds of approval clicks over multiple sessions
  • claude.ai/settings/browser-extension → "Default for all sites" is set to "Allow extension" (only options available are "Allow extension" and "Block extension" — no third tier to bypass per-action prompts)
  • Chrome-level site access for the extension is "On all sites"
  • macOS, latest Claude Desktop

Reproduction:

  1. Set claude.ai/settings/browser-extension "Default for all sites" to "Allow extension"
  2. Start a manual Cowork task that requires multiple JS executions on a single domain (e.g., scraping listings, form automation on a known site like facebook.com)
  3. Approve the first JS execution prompt
  4. Observe: every subsequent JS call on the same domain prompts again, indefinitely

Expected: Once approved for a domain within a session, JS execution should not re-prompt for the same domain.

Impact: Manual Cowork browser automation is not viable in this state. A single task requiring tens to hundreds of JS calls produces tens to hundreds of identical permission prompts. Running real business automation on a Max plan (multi-location used car dealership operations across Facebook Marketplace, internal dashboards, and other trusted sites), this defeats the purpose of the product — it's faster to do the work manually than to click "Allow" hundreds of times.

Related issues: #30356 (scheduled-task variant of same bug), #37814 (file-edit variant), #46205 (folder-permission variant) — all describe the same underlying permission-storage failure manifesting in different contexts. This issue covers the manual-task + Chrome-extension + JS-execution combination, which is not yet covered by an existing issue.

What Should Happen?

Once a user approves a domain for browser/JS execution, subsequent JS execution calls on that same domain should not re-prompt for permission — at minimum within the same Cowork task, and ideally persisted across sessions when "Always allow" is selected.

Approvals should write to the Chrome extension's persistent permission storage (chrome.storage.local "permissionStorage" key), and the "Your approved sites" list at the extension options page should reflect each approved domain.

Error Messages/Logs

No error messages — issue is behavioral. The permission dialog repeatedly appears with text similar to:

"Allow Claude to use the browser on [domain]?"
"Allow Claude to execute JavaScript on this page?"

These prompts fire on every individual JS execution call within a manual Cowork task, with no error or warning generated. Approvals do not produce any visible failure — they simply do not persist.

Steps to Reproduce

  1. Open claude.ai/settings/browser-extension and confirm "Default for all sites" is set to "Allow extension"
  2. Confirm Chrome extension options (chrome-extension://[id]/options.html) shows "Your approved sites: No sites have been approved yet"
  3. Open Claude Desktop and start a new Cowork task manually (not scheduled)
  4. Give Cowork a task requiring multiple JS executions on a single domain. Example prompt: "Open facebook.com/marketplace, search for 'used trucks under $20000' in my area, scroll through the first 20 listings, and extract the title, price, mileage, and seller location for each into a table."
  5. The first time Claude attempts a JS execution, a permission dialog appears
  6. Click "Allow" (or "Always allow" if shown)
  7. Observe: the next JS execution on the same facebook.com domain triggers the same prompt again
  8. Continue clicking "Allow" — the prompt fires on every subsequent JS call, throughout the entire task
  9. After the task ends, return to the Chrome extension options page — "Your approved sites" still shows "No sites have been approved yet"

Result: A task that should require 1 approval requires hundreds of approvals, and none of those approvals are written to persistent storage.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Approximately one week ago (week of April 20, 2026). Browser/JS approvals previously persisted as expected. Exact prior version unknown — Claude Desktop auto-updates.

Claude Code Version

N/A — bug occurs in Claude Desktop Cowork + Claude in Chrome extension, not Claude Code CLI. Running latest Claude Desktop (auto-updated).

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

This bug report is for Claude Desktop Cowork + Claude in Chrome extension, not Claude Code CLI. The Claude Code template is the only available bug report template, but the Cowork/Chrome extension issues are tracked in this same repository (see related issues #30356, #37814, #46205, all using this template).

Screenshots attached:

  • claude.ai/settings/browser-extension showing "Default for all sites" set to "Allow extension"
  • Chrome extension options page showing "Your approved sites: No sites have been approved yet" despite hundreds of approval clicks over the past week

Account: Max plan Use case: Multi-location used car dealership (TheInternetCarLot.com) operations automation — Facebook Marketplace listing management, CRM workflow automation, inventory cross-posting. Real revenue-generating workflows currently blocked by this bug.

extent analysis

TL;DR

The Chrome extension's permission storage is not persisting approvals for JavaScript execution on approved domains, causing repeated prompts during manual Cowork tasks.

Guidance

  • Verify that the chrome.storage.local permission is properly configured in the Chrome extension's manifest file to store and retrieve permission approvals.
  • Check the Chrome extension's code for any issues with writing to or reading from the permissionStorage key in chrome.storage.local.
  • Inspect the Chrome extension's options page code to ensure it correctly updates the "Your approved sites" list when a new domain is approved.
  • Review the related issues (#30356, #37814, #46205) to identify any common patterns or potential fixes that may apply to this specific issue.

Example

No code snippet is provided due to the lack of specific code details in the issue report.

Notes

The issue seems to be related to a regression introduced in a recent version of the Chrome extension, as it worked previously. The exact cause is unclear without further code analysis or debugging.

Recommendation

Apply a workaround by manually storing approved domains in a separate storage mechanism, such as a custom cookie or a separate storage service, until the underlying issue is resolved. This would require modifications to the Chrome extension's code to read from and write to this alternative storage.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Cowork Chrome extension: JS execution permission prompts fire on every call during manual tasks — approvals do not persist [3 comments, 3 participants]