Shift+Tab permission mode cycling drops 'don't ask' after leaving it

Resolved 💬 3 comments Opened Apr 3, 2026 by a13xperi Closed Apr 7, 2026

Bug description

When cycling through permission modes using Shift+Tab in the bottom status bar, the dontAsk mode gets permanently dropped from the rotation after cycling away from it.

Steps to reproduce

  1. Start a Claude Code session with defaultMode: "dontAsk" in settings.json
  2. Status bar shows: ►► don't ask on (shift+tab to cycle)
  3. Press Shift+Tab to cycle to acceptEdits
  4. Press Shift+Tab repeatedly — cycling is now stuck rotating through acceptEdits sub-states (accepted, pending, default)
  5. dontAsk never reappears in the rotation

Expected behavior

Shift+Tab should cycle through all top-level permission modes in a loop (e.g. dontAskacceptEditsplandontAsk → ...), regardless of which mode you started on.

Actual behavior

Once you leave dontAsk, it's excluded from the cycling array. You can only get back to it via /permissions or restarting the session.

Screenshot

Two side-by-side sessions — left shows don't ask on (initial state), right shows accept edits on (stuck, cannot cycle back):

!status bar comparison

(Screenshot available on request — shows the two states side by side)

Environment

  • Claude Code CLI (latest as of 2026-04-03)
  • macOS Darwin 25.3.0
  • settings.jsonpermissions.defaultMode: "dontAsk"

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗