[BUG] Cloud scheduled tasks: "Always allow" for WebFetch not persisted — re-prompts and stalls on every run

Status Open
Reported on v2.1.227
Maintainer reply None cached
Activity 0 comments · opened Aug 11, 2026

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?

On cloud scheduled tasks (claude.ai, remote execution — not Desktop, not CLI), every run
that needs WebFetch stalls on a permission prompt:

{ "query": "select:WebFetch" }

If I'm present and click "Always allow", WebFetch works fine for the rest of that run —
the tool itself is functional, this is not a fetch failure.

The problem: the "Always allow" choice is NOT persisted. The next scheduled run prompts
again and stalls until I manually approve. This defeats the purpose of unattended
scheduled tasks — I must be present at every run.

For comparison, in the same runs: WebSearch executes without prompting, and MCP connector
tools (e.g. mcp__PubMed__search_articles) work without prompting. Only WebFetch re-prompts
every time.

On cloud tasks there is no user-side mitigation: no settings.json, no "Always allowed"
review panel like Desktop has, no way to pre-authorize WebFetch when creating/editing the
task, and no Bash tool to fall back on.

What Should Happen?

"Always allow" granted during a scheduled task run should persist to subsequent runs of
that task (as documented for Desktop scheduled tasks: "Future runs of that task
auto-approve the same tools without prompting"). Alternatively, expose WebFetch
authorization in the task's creation/edit settings so it can be granted upfront.

Error Messages/Logs

If I don't authorize :


Tool-selection payload shown in
the transcript:
{ "query": "select:WebFetch" }

Request

{
  "message": "Scheduled task blocked: WebFetch requires user approval to fetch https://www.myip.com/",
  "status": "proactive"
}

Steps to Reproduce

  1. On claude.ai, create a cloud scheduled task whose prompt requires fetching a URL,

e.g.: "Fetch https://example.com and summarize its content."

  1. Trigger a run. The run stalls on a WebFetch permission prompt (select:WebFetch).
  2. Click "Always allow". WebFetch executes successfully and the run completes.
  3. Wait for the next scheduled run (or trigger another one).
  4. The run stalls again on the same WebFetch permission prompt — the "Always allow"

from step 3 was not persisted.

Reproduces 100% of the time, on 2 different scheduled tasks.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.227

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗