Skip to content

[FEATURE] Customizable permission mode cycle (Shift+Tab) for CLI and VSCode extension #15747

Description

@AirMile

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

When using Shift+Tab to cycle through permission modes in both CLI and VSCode extension, all modes are included in the rotation (default, acceptEdits, plan). For users who primarily work with bypassPermissions and plan mode, this creates unnecessary friction. I need to press Shift+Tab multiple times to skip modes I never use, just to reach my desired mode. The current workflow requires me to manually cycle through 2-3 unwanted modes every time I want to switch between bypass and plan mode.

Proposed Solution

I'd like to be able to configure which modes appear in the Shift+Tab cycle:

// .claude/settings.json
{
"permissions": {
"modeCycle": ["bypassPermissions", "plan"]
}
}
For the VSCode extension, this setting should also be available in:

  • VSCode settings (settings.json) under claude-code.permissions.modeCycle

  • Or synced from the project's .claude/settings.json

The interface should show only the configured modes when cycling with Shift+Tab.

Alternative Solutions

Currently I work around this by staying in bypassPermissions mode and pressing Shift+Tab twice to reach plan mode, then twice again to return. I've tried using --permission-mode plan flag to start separate sessions, but this loses conversation context. Other tools solve this by allowing users to configure keyboard shortcuts for specific modes or customize toolbar options

Priority

Medium - Would be very helpful

Feature Category

Configuration and settings

Use Case Example

Example scenario:

  1. I'm working on a React project in VSCode with Claude Code extension
  2. I'm in bypassPermissions mode for rapid development
  3. Before making major architectural changes, I want to switch to plan mode for safe analysis
  4. Currently I press Shift+Tab → lands on acceptEdits (don't need this) → Shift+Tab again → lands on plan
  5. With this feature, I could configure only bypassPermissions and plan in my cycle
  6. This would save time because one Shift+Tab would directly toggle between my two preferred modes

Additional Context

  • This affects both CLI and VSCode extension users
  • The setting could follow the existing pattern of .claude/settings.json configuration
  • Default behavior should remain unchanged for new users (all modes in cycle)
  • Power users in controlled/sandboxed environments would benefit most from this customization

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions