[BUG] Subagents should inherit settings.local.json permissions
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?
Problem
Subagents (spawned via the Agent tool, e.g., parallel-issue-worker, validator) do not inherit permissions from settings.local.json. They only inherit from .claude/settings.json (project-level).
This means any permissions the user has approved interactively (which get saved to settings.local.json) are not available to subagents. Subagents get stuck waiting for interactive permission approval that never comes, since they run in the background.
Current Workaround
We have to duplicate all permissions from settings.local.json into .claude/settings.json under a permissions key, or use a permission-auto-approve.py PreToolUse hook that outputs {"decision": "allow"}. Neither is ideal:
- Duplicating permissions means maintaining two files and committing potentially user-specific permissions to the repo
- Hook-based auto-approve is unreliable — subagents still get blocked in practice despite the hook returning
{"decision": "allow"}
Expected Behavior
Subagents should inherit the union of permissions from both:
.claude/settings.json(project-level, shared)settings.local.json(user-level, local)
This is the same permission set the parent agent operates with. There's no security reason to restrict subagents further — they're spawned by the parent agent which already has those permissions.
Impact
This is a significant pain point for anyone using parallel agent workflows (e.g., orchestrator spawning multiple parallel-issue-worker agents). Every subagent silently gets stuck on permission prompts, requiring manual re-spawning or workarounds.
Related
- Previously reported as #18950
- Affects all subagent types:
parallel-issue-worker,validator,plan-reviewer, and custom agents
Environment
- Claude Code CLI
- macOS
- Multiple subagent types affected
What Should Happen?
Subagents should inherit the union of permissions from both:
.claude/settings.json(project-level, shared)settings.local.json(user-level, local)
This is the same permission set the parent agent operates with. There's no security reason to restrict subagents further — they're spawned by the parent agent which already has those permissions.
Error Messages/Logs
Steps to Reproduce
Just run a subagent, settings (and permissions) are not inherited
Claude Model
Not sure / Multiple models
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
latest
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗