defaultMode: "dontAsk" overrides explicit ask list, auto-denying tools that should prompt

Resolved 💬 3 comments Opened Jan 7, 2026 by jiaxi98 Closed Feb 20, 2026

When defaultMode is set to "dontAsk" in settings, tools explicitly listed in the ask array are still auto-denied instead of prompting for user approval.

Steps to Reproduce

  1. Configure settings with both defaultMode and explicit ask list:
{
  "permissions": {
    "defaultMode": "dontAsk",
    "ask": ["Write", "Edit"]
  }
}
  1. Have Claude attempt to use the Write or Edit tool

Expected Behavior

Tools listed in ask should prompt for user approval, regardless of defaultMode setting. The ask list should take precedence over defaultMode for explicitly specified tools.

Actual Behavior

Tools in the ask list are auto-denied without prompting, following defaultMode: "dontAsk" behavior instead.

Workaround

Remove defaultMode from settings entirely. The ask list then works as expected.

Environment

  • Claude Code CLI
  • Settings location: ~/.claude/settings.json (or project .claude/settings.json)

View original on GitHub ↗

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