Workflow subagent WebFetch prompts ignore allow rules added mid-session; dialog says "Fetch" but rule is "WebFetch"; no batch-allow — hundreds of prompts per deep-research run

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 23, 2026

Summary

Running the bundled deep-research workflow produced hundreds of individual permission prompts ("Fetch · from the 'deep-research' workflow"), and no combination of allow rules added mid-session could stop them. The user had to abort the workflow out of permission fatigue.

Three compounding problems:

1. Permission dialog shows "Fetch" but the rule name is "WebFetch"

The prompt is titled Fetch · from the "deep-research" workflow. Following that label, the user added an allow rule named Fetch via /permissions (the UI happily accepted it: "Added allow rule Fetch"). It never matches, because the actual rule name is WebFetch. Display name and rule name should match, or the UI should warn about unknown tool names when a rule is added.

2. Allow rules added mid-session don't reach workflow subagents

After correcting the rule to WebFetch (bare, i.e. all domains) in .claude/settings.local.json, subagents spawned later in the same session still prompted for every fetch. Even fully stopping the workflow (TaskStop) and relaunching it with resumeFromRunId did not pick up the new rule. Apparently settings files are only read at session startup; nothing short of restarting the whole session applies a new allow rule — which is exactly what you can't do while a long workflow run is in flight.

Adding a rule through the /permissions UI mid-session had the same non-effect on workflow subagents.

3. No batch-allow for workflow runs

A deep-research run spawns ~100+ subagents, each fetching several URLs. Each fetch prompts individually. There is no "allow all fetches for this workflow run" option on the prompt, so the only choices are clicking Yes hundreds of times or killing the run.

Steps to reproduce

  1. Start a session with no WebFetch allow rule.
  2. Run the bundled deep-research workflow (Workflow({name: "deep-research", args: "..."})).
  3. When "Fetch" prompts appear, add WebFetch to permissions.allow in .claude/settings.local.json (or via /permissions).
  4. Observe subsequent subagent fetches still prompt; stopping and resuming the workflow does not help.

Expected

  • Rules added via /permissions (or settings file edits) apply to subagents spawned after the change, without a session restart.
  • The permission dialog's tool label matches the rule name users must write.
  • Workflow permission prompts offer a per-run "allow all of this tool for this run" option.

Environment

  • Claude Code CLI on Linux (Ubuntu, kernel 6.8), model claude-fable-5
  • Project-local .claude/settings.local.json permissions: ["Bash", "Edit", "WebSearch", "WebFetch", "Fetch"] — prompts continued regardless

View original on GitHub ↗