[Bug] Desktop: auto-mode silently rejected on Sonnet 4.6, no UI feedback
Summary
On Claude desktop 1.4758.0 (macOS), toggling auto-mode in a session running claude-sonnet-4-6 is silently rejected. The UI appears to switch to auto momentarily and then reverts to default with no error or notification. The CLI does not have this restriction — auto-mode persists fine on Sonnet 4.6 in the terminal.
Repro
- Open Claude desktop, start a new session
- Make sure the session model is
claude-sonnet-4-6 - Toggle permission mode to "auto"
- Observe: mode reverts to default with no message in the UI
What the logs show
~/Library/Logs/Claude/main.log records the rejection explicitly:
[CCD] Failed to set permission mode for session local_…:
Cannot set permission mode to auto: auto mode unavailable for this model
at Object.handler (…/app.asar/.vite/build/index.js:392:5356)
Correlating setModel with setPermissionMode events for the same session in chronological order:
| Time | Event | Model | Mode | Result |
|----------|---------|------------------------|---------|--------|
| 16:40:23 | attempt | claude-opus-4-7[1m] | auto | OK |
| 16:40:34 | attempt | claude-sonnet-4-6 | default | OK |
| 16:40:36 | attempt | claude-sonnet-4-6 | auto | FAIL |
| 16:40:39 | attempt | claude-sonnet-4-6 | plan | OK |
| 16:40:41 | attempt | claude-sonnet-4-6 | accept | OK |
| 16:40:45 | attempt | claude-sonnet-4-6 | auto | FAIL |
So auto is the only mode rejected, and only on claude-sonnet-4-6. Opus 4.7 (incl. the 1M-context variant) accepts auto fine. plan, accept, and default all succeed on Sonnet 4.6.
Expected
The CLI allows auto-mode on Sonnet 4.6, so behavior should match. Failing that, the desktop should at minimum surface the rejection — silently reverting the toggle with no message makes the bug invisible to users (and looks like the toggle is randomly turning itself off).
Suggested fix
In rough priority order:
- Allow auto-mode on Sonnet 4.6 to match the CLI. Either remove the model gate, or expand the allowlist to include
claude-sonnet-4-6(and any other current production models that the API supports for auto). - If the gate must stay, surface it: show a toast / inline message like "Auto-mode is not available on
<model>— switch to<supported model>", and visually disable the auto-mode toggle on unsupported models instead of letting users click it and silently reverting. - Log parity: keep the existing
[CCD] Failed to set permission mode …log line, but also propagate the reason back to the renderer so the UI can display it.
The throw site appears to be in app.asar/.vite/build/index.js around line 392 (per the stack trace) — the handler for setPermissionMode IPC.
Workaround for other users hitting this
Switch the session/default model to Opus 4.7 in the desktop app, or use the Claude Code CLI which does not enforce this gate.
Environment
- Claude desktop: 1.4758.0
- macOS: Darwin 25.3.0 (arm64)
- CLI: works correctly with auto-mode on the same models
🤖 Generated with Claude Code
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗