Concurrent subagent dispatch: child re-prompts on Edit / Write even when parent has explicit allow entries
Summary
When a child subagent attempts an Edit or Write on a path where the parent has explicit Edit(/path/**) and Write(/path/**) allow-entries in .claude/settings.json, the child re-prompts the user for each tool invocation as if the parent grants weren't visible.
Setup
- Parent
settings.jsondeclares both: Edit(/Volumes/DevSSD/repo/.claude/worktrees/**)Write(/Volumes/DevSSD/repo/.claude/worktrees/**)- Parent successfully uses Edit + Write on paths matching these globs
- Parent dispatches a child subagent that also needs to Edit/Write on paths matching these globs
Expected
Child inherits the parent's Edit + Write grants and completes without re-prompting.
Actual
Child is prompted for approval on its first Edit and its first Write, regardless of the parent's declared grants.
Reproducer
https://github.com/Regevba/FitTracker2/tree/main/docs/superpowers/plans/f6-f9-reproducer § F7
Why we think it's not a config issue
We have explicit allow-list entries for both tool classes covering the exact paths the child needs. Adding them didn't fix the behavior. We suspect Read and Edit/Write use different code paths in the child's permission resolver, and the Edit/Write path doesn't consult the parent's allow-list.
Related
Possibly a specialization of F8 (parallel dispatch state drift). Filing separately for visibility; consolidate at triage if appropriate.
Workaround
Serial dispatch OR pre-declare every tool class in settings.json AND accept that each child re-prompts on first tool call.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗