[BUG] Permissions hierarchy issue

Resolved 💬 8 comments Opened Oct 23, 2025 by nrgbistro Closed Feb 5, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

I have the following (simplified) permissions hierarchy:

.claude/settings.json:

{
	"permissions": {
		"ask": ["Bash(ps:*)", "Bash(cat:*)", "Bash(pwd:*)", "Bash(ls:*)"]
	}
}

.claude/settings.local.json:

{
	"permissions": {
		"allow": ["Bash(ps:*)", "Bash(cat:*)", "Bash(pwd:*)", "Bash(ls:*)"]
	}
}

When I ask claude to run any of these commands, it asks for my permission in any execution context (ask, auto edit, or plan).

What Should Happen?

According to the claude code documentation, Local project settings overrule Shared project settings, so I would expect claude to NOT ask for permission to run these commands.

I understand if the shared project settings explicitly deny permission to use these tools, since overriding that could be seen as a security issue. However, since they are set to ask, I would think that the allow of the local settings should win, and claude would run the command automatically in any execution context.

Error Messages/Logs

N/A

Steps to Reproduce

  1. Set up permissions environment as I did in the example above.
  2. Ask claude RUN <command>
  3. Claude still asks for permission when it should not:

<img width="764" height="965" alt="Image" src="https://github.com/user-attachments/assets/eda5fd06-22d0-48e9-aed6-39495a4178ce" />

This happens in both the vscode extension and the TUI:

╭╮
│ Bash command                                                                                                                                                                                             │
│                                                                                                                                                                                                          │
│   pwd                                                                                                                                                                                                    │
│   Show current working directory                                                                                                                                                                         │
│                                                                                                                                                                                                          │
│ Permission rule Bash(pwd:*) requires confirmation for this command.                                                                                                                                      │
│ /permissions to update rules                                                                                                                                                                             │
│                                                                                                                                                                                                          │
│ Do you want to proceed?                                                                                                                                                                                  │
│ ❯ 1. Yes                                                                                                                                                                                                 │
│   2. No, and tell Claude what to do differently (esc)                                                                                                                                                    │
╰╯

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

1.0.88 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

VS Code integrated terminal

View original on GitHub ↗

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