-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Open
Labels
area:corearea:securityarea:toolsbugSomething isn't workingSomething isn't workinghas reproHas detailed reproduction stepsHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSIssue specifically occurs on macOS
Description
Environment
- Platform (select one):
- Other: Claude Code on macOS with VS Code
- Claude CLI version: 1.0.68 (Claude Code)
- Operating System: macOS Darwin 23.6.0
- Terminal: Terminal App
Bug Description
User-level permissions in ~/.claude/settings.json are not being enforced
during command execution, even though they appear as loaded in the
/permissions command. The same permissions work correctly when placed in
project-level .settings.local.json but fail when moved to user-level
settings.
Steps to Reproduce
- Copy working permissions from a project's .settings.local.json to
user-level ~/.claude/settings.json:
{
"permissions": {
"allow": [
"mix:",
"mcp__serena__",
"mcp__context7__",
"Bash(ls:)",
"Bash(find:)",
"Bash(grep:)",
"Bash(sqlite3:)",
"Bash(mkdir:)",
"Bash(cp:)",
"Bash(mv:)",
"Bash(git add:)",
"Bash(git push:)",
"Bash(git checkout:)",
"Bash(git stash show:)",
"Bash(git stash pop:)",
"Bash(git fetch:)",
"Bash(git stash push:)",
"Bash(git merge:)",
"Bash(git cherry-pick:)",
"Bash(python:)",
"Bash(python3 -m pip install:)",
"Bash(npm install:)",
"Bash(npx playwright test:*)"
]
}
} - Open a project in VS Code with Claude Code
- Run /permissions - it correctly shows all permissions as loaded
- Try to run any allowed command (e.g., mix --version)
- Claude Code still asks for permission despite the command being in the
allow list
Expected Behavior
- I want a way to allow the mcp of serena to execute all its commands without asking for explicit permission each time.
- Commands in the user-level allow list should execute without requiring
approval - User-level permissions should work identically to project-level
permissions - If /permissions shows a command as allowed, it should not require
approval
Actual Behavior
- All commands require manual approval even when listed in user-level
permissions - /permissions command shows the permissions as loaded but they are not
enforced - The exact same permissions work when placed in project
.settings.local.json but not in ~/.claude/settings.json - MCP wildcard permissions (e.g., mcp__serena__*) also don't work at the
user level
Additional Context
- These permissions were originally auto-generated by Claude Code (not
manually written) - I just copied them from .settings.local.json to the user-level settings.json - This significantly impacts workflow as every command requires manual
approval across all projects
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:corearea:securityarea:toolsbugSomething isn't workingSomething isn't workinghas reproHas detailed reproduction stepsHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSIssue specifically occurs on macOS