Add runtime keyboard shortcuts for permission mode toggling

Open 💬 7 comments Opened Nov 18, 2025 by thamam

Feature Request: Runtime Keyboard Shortcuts & Permission Mode Toggle

Summary

Add support for customizable keyboard shortcuts in Claude Code interactive sessions, starting with the ability to toggle permission modes during runtime (similar to Gemini CLI).

Proposed Feature

Primary Request: Ctrl+Y keyboard shortcut to toggle between permission modes during an active session

Broader Request: General keyboard shortcut customization framework

Use Case

Currently, permission modes (--permission-mode) must be set at session launch and cannot be changed mid-session. A typical workflow would be:

  1. Start session in safe mode (default) for cautious exploration
  2. Press Ctrl+Y to enter YOLO mode (bypassPermissions) for trusted bulk operations
  3. Press Ctrl+Y again to return to safe mode
  4. Continue working without session restart

Proposed Implementation

1. Runtime Permission Mode Toggle
# During active session:
Ctrl+Y → Toggle between current mode and bypassPermissions

Visual feedback in status line:

  • [SAFE] - Default permission mode
  • [YOLO] - Bypass permissions mode
2. Keyboard Shortcut Configuration

Add to settings.json:

{
  "keyboardShortcuts": {
    "Ctrl+Y": {
      "action": "togglePermissionMode",
      "modes": ["default", "bypassPermissions"]
    },
    "Ctrl+P": {
      "action": "enterPlanMode"
    }
    // ... other customizable shortcuts
  }
}

Benefits

  • No session restarts - Seamless workflow transitions
  • Safety + Speed - Start cautious, switch to fast when appropriate
  • User control - Quick escape from YOLO mode if needed
  • Parity with competitors - Gemini CLI offers runtime mode switching
  • Extensibility - Framework enables future keyboard shortcuts

Alternative Approaches Considered

  1. Slash commands (e.g., /yolo) - Less ergonomic than hotkeys
  2. Shell aliases - Requires session restart
  3. Hooks - Cannot change runtime session state

Additional Context

  • User migrating from Gemini CLI expects this functionality
  • Permission modes: default, acceptEdits, dontAsk, bypassPermissions, plan
  • Status line already exists for visual feedback integration

Priority

High - Quality-of-life improvement for power users with clear competitor precedent

---

Submitted on behalf of user via Claude Code automation

View original on GitHub ↗

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