[BUG] Claude-in-Chrome: after 'Tool permission stream closed' mid-call, ALL idle-gated tools fail on EVERY page with 'Page still loading (executeScript waited 45000ms for document_idle)'
Summary
After a "Tool permission stream closed before response received" / "Stream closed" error mid-session, every idle-gated tool (computer screenshot, read_page, get_page_text, find) times out at 45 s on all pages with:
Page still loading (executeScript waited 45000ms for document_idle)
This includes a fresh tab on https://example.com where document.readyState === "complete" and loadEventEnd = 514ms. navigate/tabs_* and javascript_tool keep working on the same tabs, so script injection and routing are fine — the extension's internal document_idle readiness tracker appears wedged browser-wide, and the bad state survives across Claude Code sessions (the MV3 service worker is kept alive by the persistent connection to Claude Code) until a manual extension reload.
Repro observations (from an affected session)
| Page / tool | navigate | screenshot | read_page | get_page_text | javascript_tool |
|---|---|---|---|---|---|
| https://example.com (static, fresh tab) | OK | FAIL 45 s | FAIL 45 s | FAIL 45 s | — |
| https://www.wikipedia.org | OK | FAIL 45 s | — | — | OK, instant: readyState:"complete", loadEventEnd:514ms |
| internal LAN page | OK | FAIL 45 s | FAIL 45 s | FAIL 45 s | OK, instant: readyState:"complete" |
read_console_messages, tabs_*, list_connected_browsers all respond normally throughout.
Workaround
chrome://extensions → Reload the Claude extension — fixes it immediately, open tabs unaffected. The wedge does not heal on its own because the persistent connection keeps the service worker (and the corrupted in-memory state) alive indefinitely.
Environment
- Windows 11 Pro (build 26200), Chrome stable, normal user profile
- Claude Code + Claude-in-Chrome extension current as of 2026-07-04
Likely related
- #49027 — idle gate tied to network-level document completion (narrower: only ever-streaming pages, only screenshot; this report is all read tools / all pages / persistent state)
- #44435 — the "Tool permission stream closed" race that appears to be the trigger