User-level permissions configured in ~/.claude/settings.json under permissions.allow are not being inherited by skills/subagents. All bash commands require permission prompts when executed within a skill, even though those same commands are auto-approved when used in the main conversation.
Steps to Reproduce
- Configure user-level permissions in
~/.claude/settings.json:
{
"permissions": {
"allow": [
"Bash(test)",
"Bash(git rebase)",
"Bash(mvn verify)",
"Bash(grep)",
"Bash(head)",
"Bash(lsof)",
"Bash(sleep)",
"Bash(tail)",
"Bash(echo)"
]
}
}
- Restart Claude Code to load permissions
- Verify permissions work in main conversation (e.g.,
ls command runs without prompt)
- Run a skill that uses these commands
- Observe: All bash commands prompt for permission despite being in the allow list
Expected Behavior
Skills should inherit user-level permissions from settings.json. Commands in the permissions.allow list should be auto-approved without prompting.
Actual Behavior
Skills prompt for permission on every bash command. Example commands that prompted:
- test -f pom.xml
- grep with head pipeline
- git rebase team/master
- mvn spring-boot:run
- lsof commands
- sleep and tail commands
Environment
- Claude Code version: 2.1.12
- OS: macOS 26.2 (25C56)
- Settings file: ~/.claude/settings.json
Workaround
Select option 2 to create workspace-level permissions, but this defeats the purpose of user-level permissions.
Impact
Significantly degrades user experience when using skills, requiring manual approval of dozens of commands.
User-level permissions configured in
~/.claude/settings.jsonunderpermissions.alloware not being inherited by skills/subagents. All bash commands require permission prompts when executed within a skill, even though those same commands are auto-approved when used in the main conversation.Steps to Reproduce
~/.claude/settings.json:{ "permissions": { "allow": [ "Bash(test)", "Bash(git rebase)", "Bash(mvn verify)", "Bash(grep)", "Bash(head)", "Bash(lsof)", "Bash(sleep)", "Bash(tail)", "Bash(echo)" ] } }lscommand runs without prompt)Expected Behavior
Skills should inherit user-level permissions from
settings.json. Commands in thepermissions.allowlist should be auto-approved without prompting.Actual Behavior
Skills prompt for permission on every bash command. Example commands that prompted:
Environment
Workaround
Select option 2 to create workspace-level permissions, but this defeats the purpose of user-level permissions.
Impact
Significantly degrades user experience when using skills, requiring manual approval of dozens of commands.