[BUG] Subagents should inherit settings.local.json permissions

Open 💬 1 comment Opened Jun 11, 2026 by kreare

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:

  1. .claude/settings.json (project-level, shared)
  2. 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:

  1. .claude/settings.json (project-level, shared)
  2. 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_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗