[FEATURE] Mode-aware command permissions in Accept mode

Resolved 💬 4 comments Opened Feb 11, 2026 by mickbo32 Closed Mar 11, 2026

Preflight Checklist

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

Problem Statement

Currently, when Claude Code proposes a command, it asks:

Do you want to proceed?
   1. Yes
 ❯ 2. Yes, don’t ask again for this command in /project/path
   3. No

Claude Code remembers the choice per project, but ignores the active mode.

  • Even if the user is in Plan or Normal mode, the “don’t ask again” permission applies
  • Users cannot limit “always allow” to Accept mode only, which is the intended hands-off workflow
  • This reduces the value of Accept mode, because command permissions are effectively permanent across modes

Proposed Solution

Make command permission persistence mode-aware, not only project-aware

Make command permission persistence mode-aware, so “don’t ask again” choices are honored only while Accept mode is active.

Proposed behavior

  • Accept mode
  • Users can explicitly allow a command without further prompts
  • The permission is active only while Accept mode is enabled
  • Plan mode / Normal mode
  • Command execution always requires confirmation
  • No previously granted permissions persist

Example prompt (proposed UX)

Do you want to proceed?
   1. Yes
 ❯ 2. Always allow this command in /project/path while Accept mode is enabled
   3. No

Note: it is important to make explicit "while Accept mode is enabled" to make the user aware

Behavior:

  • Selecting option 2 suppresses future prompts for the same command in /project/path
  • The permission is automatically revoked when leaving Accept mode

How to Distinguishing General vs. Accept-Mode Scoped Permissions

There are two types of command permission options:

  1. General project permission:
 ❯ 2. Always allow this command in /project/path
  • Applies in all modes
  • User will not be prompted again for this command while in the project
  1. Accept-mode scoped permission:
 ❯ 2. Always allow this command in /project/path while Accept mode is enabled
  • Applies only while Accept mode is active
  • Once the user switches back to Plan or Normal mode, the command will prompt again using the general permission option

Behavior:

  • If the user is in Normal or Plan mode -> show the general permission option
  • If the user is in Accept mode -> show the Accept-mode scoped option

Implementation Suggestion

Add a dedicated field in the project’s settings.local.json to store scoped permissions. Example structure:

{
  "permissions": {
    "allow": [
      "Bash(git pull:*)",
      "Bash(ls:*)"
    ],
    "accept_mode_only": [
      "Bash(git push:*)",
      "Bash(git commit -m *)",
      "Bash(python manage.py migrate)"
    ]
  }
}

Alternative Solutions

Keep the current behavior, where command permissions persist independently of the active mode.

Limitations of this approach:

  • Encourages over-granting long-lived permissions
  • Makes Accept mode feel incomplete
  • Forces users to manually manage or reset permissions

Priority

High - Significant impact on productivity

Feature Category

Other

Use Case Example

Example 1 (Scoped request):

  1. User enables Accept mode
  2. Claude proposes this-command
  3. User selects "2. Always allow this-command command in /project/path while Accept mode is enabled"
  4. Claude executes the command without further confirmation, when Accept mode is enabled
  5. User switches to Plan or Normal mode
  6. Claude proposes this-command
  7. User selects "2. Always allow this-command command in /project/path"
  8. Claude executes the command without further confirmation, regardless of the mode

Example 2 (Allow in all modes):

  1. User is in Normal mode
  2. Claude proposes this-command
  3. User selects "2. Always allow this-command command in /project/path"
  4. Claude executes the command without further confirmation, regardless of the mode

Example 3 (Most common usage, the user allow the command only when in Accept mode, the change is persistent for the project but active only in Accept mode):

  1. User enables Accept mode
  2. Claude proposes this-command
  3. User selects "2. Always allow this-command command in /project/path while Accept mode is enabled"
  4. Claude executes the command without further confirmation, when Accept mode is enabled
  5. User switches to Plan or Normal mode
  6. Claude proposes this-command
  7. User selects "1. Yes"
  8. Claude executes the command, but it will ask again next time
  9. Claude proposes this-command
  10. User selects "1. Yes"
  11. Claude executes the command, but it will ask again next time
  12. User enables Accept mode
  13. Claude proposes this-command and executes the command without waiting confirmation when Accept mode is enabled
  14. User switches to Plan or Normal mode
  15. Claude proposes this-command
  16. User selects "1. Yes"
  17. Claude executes the command, but it will ask again next time

Additional Context

This change would make command permissions:

  • Context-aware (bound to the active mode)
  • Reversible (no manual cleanup required)
  • Aligned with existing mode semantics, rather than always permanent

It preserves safety in Plan and Normal modes while making Accept mode genuinely hands-off and efficient for iterative workflows.

View original on GitHub ↗

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