Permission classifier for Browser preview_* tools times out persistently across sessions — 'claude-sonnet-4-6 is temporarily unavailable'
Status Open
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 0 comments · opened Sep 24, 2026
Environment
- Claude Code desktop app (Code tab), as of 2026-09-24
- Session model: claude-sonnet-4-6
- Platform: Linux (Ubuntu 24.04)
- Local dev server confirmed healthy before every attempt:
docker compose ps→ all containers Up/healthy;curl http://localhost:8010/→ HTTP 200;curl http://localhost:8010/incredible-offers/→ HTTP 200 .claude/launch.jsonuses a URL-attach entry (no start command):{"name":"aroma-wp","url":"http://localhost:8010","port":8010,"autoPort":false}
What happens
Any call to the Browser preview tool family fails with:
claude-sonnet-4-6 is temporarily unavailable (timed out), so auto mode cannot determine the safety of mcp__Claude_Browser__preview_list right now. Wait a moment and then try this action again...
And for preview_start:
claude-sonnet-4-6 is temporarily unavailable (timed out), so auto mode cannot determine the safety of mcp__Claude_Browser__preview_start right now.
Scope of the block
- Affects both read-only
preview_listand mutatingpreview_start. They are classified independently —preview_listoccasionally succeeds, but that is not a reliable signal thatpreview_startwill pass. - Persists across fresh sessions (not per-session state).
- Persists across all permission modes: auto, default/manual, and
bypassPermissions. - Reproduced consistently 2026-09-17 → 2026-09-24 (a full week), in every session that attempted preview use.
Prior diagnosis
Per the claude-code-guide agent and official docs:
- The timeout means the permission classifier's API call failed to return a decision — not that the action was unsafe.
- The classifier normally uses a dedicated model (Sonnet 5), but falls back to the session model when that's unavailable. Here the session model is
claude-sonnet-4-6, and that fallback call itself reports "temporarily unavailable (timed out)". - This looks like a stuck fallback chain:
claude-sonnet-4-6is unavailable, the classifier falls back to it, and the fallback call times out, blocking the whole preview tool family.
Why this seems like a bug rather than a transient failure
- A single transient timeout would resolve within minutes. This has persisted across 5+ days and multiple independently-created sessions, with no settings changes that would affect the classifier path.
- The documented recovery guidance ("retry after a wait; if it keeps failing, investigate the API connection") does not resolve it — retries over 8 days have all timed out.
- Once, in a prior session, a
preview_startcall did break through the classifier and returned a real config error, which shows the layer itself works when the classifier happens to respond. So the block is intermittent-but-mostly-down, not a hard prohibition.
Impact
Browser preview is completely non-functional for this project. Workaround is server-side verification via curl (works, but cannot verify visual layout, responsive behavior, or JS-driven interactions such as countdown timers). This has blocked visual verification of a shipped web page for over a week.
Requested
- Confirm whether
claude-sonnet-4-6being listed as "temporarily unavailable" is the actual root cause of the classifier timeout (vs. a classifier-side outage). - If the session-model fallback is what's timing out, consider either (a) retrying the dedicated classifier model (Sonnet 5) when the fallback is unavailable instead of surfacing the session-model timeout, or (b) not locking a session to a fallback model that then becomes unavailable.
- Provide a way to clear a stuck classifier-model lock without restarting the whole app.