claude-code - 💡(How to fix) Fix Concurrent subagent dispatch: child re-prompts on Edit / Write even when parent has explicit allow entries

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

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.

Root Cause

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.

Fix Action

Workaround

Serial dispatch OR pre-declare every tool class in settings.json AND accept that each child re-prompts on first tool call.

RAW_BUFFERClick to expand / collapse

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.json declares 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.

extent analysis

TL;DR

The child subagent may not be properly inheriting the parent's Edit and Write grants due to a potential issue with the permission resolver, and a workaround involves serial dispatch or pre-declaring every tool class in settings.json.

Guidance

  • Verify that the parent's settings.json file is correctly formatted and that the globs for Edit and Write are correctly specified.
  • Check if the child subagent is correctly configured to inherit the parent's grants, and if there are any other settings or configurations that may be overriding this behavior.
  • Consider implementing the suggested workaround of serial dispatch or pre-declaring every tool class in settings.json to see if it resolves the issue.
  • Review the related issue F8 (parallel dispatch state drift) to see if it may be relevant to this problem.

Example

No code snippet is provided as it is not clearly supported by the issue.

Notes

The issue may be related to a specialization of F8, and consolidating the issues at triage may be necessary. The workaround provided may have limitations, such as requiring each child to re-prompt on the first tool call.

Recommendation

Apply the workaround of serial dispatch or pre-declaring every tool class in settings.json, as it may help mitigate the issue while a more permanent solution is developed. This is because the workaround has been suggested by the issue reporter and may provide a temporary fix until the underlying issue is resolved.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING