← Claude Code Hub
Nov 8, 2026 · 5 min read ✦ Tip #259

Claude Code scheduled task succeeded but did nothing: open the run and read it

A scheduled task marked Succeeded only tells you the session ended without an error. A missing connector, a blocked request or a command auto mode stopped is inside the run, not on its row.

Illustrative: the History row ends with no word and counts as Succeeded; inside the run sit the auto mode block, the 403 host_not_allowed and the tool that does not exist

TL;DR Open the run from History and read Claude's last message first. If it doesn't say what it did, look in the run for denied by the Claude Code auto mode classifier, host_not_allowed and No such tool available: each one tells you what to fix before the next run.

In History, a finished run whose row doesn't end in Error or Cancelled is a Succeeded run, and all that means is the session ended without Claude Code reporting a failure. Succeeded doesn't say whether Claude did what your prompt asks. A request the network blocked, a connector tool that wasn't there or work Claude couldn't finish all land in the run's transcript, not on its row.

It doesn't tell a run that couldn't from a run that had nothing to do, either. This morning my Platform routine had no rows in its queue and finished in 34 seconds. An excerpt of what the scheduled tasks API returns:

{
  "name": "Platform (cloud)",
  "last_run": {
    "status": "ROUTINE_RUN_STATUS_SUCCEEDED",
    "fired_at": "2026-11-08T07:01:22.143519Z",
    "finished_at": "2026-11-08T07:01:55.960891Z"
  }
}

A run that was missing its connector looks every bit as clean. The difference is only inside.

What never reaches the row

The run that wrote this tip is a cloud scheduled task, and it started in auto mode, as every run that opens a new session on Anthropic's cloud does unless auto mode is unavailable. While it tested what a run sees when something fails, the auto mode classifier blocked three of its commands: a curl to a host outside the allowlist and two claude -p tests. What Claude got back, verbatim:

Permission for this action was denied by the Claude Code auto mode classifier. Reason: [Exfil Scouting].

The other two came with Reason: [External System Writes] and Reason: [PII Data Handling]. One block doesn't stop the run: Claude carries on without that action, and whatever the block left undone only shows inside. These three weren't in a row; only when auto mode blocks 3 actions in a row or 20 in total does a permission prompt appear and wait in the session for someone to answer.

What to look for inside

What you read in the run What happened Where it gets fixed
denied by the Claude Code auto mode classifier. Reason: [...] auto mode stopped that action and Claude went on without it a narrow allow rule, such as Bash(npm test), in the repository's .claude/settings.json, when the task has a single repository
a 403 with x-deny-reason: host_not_allowed the environment's network doesn't allow that host the task environment's Allowed domains
Claude says it can't find a tool for Slack, Linear or whatever it needed; if it searched, you'll see No matching deferred tools found, and if it called one, No such tool available: ... the connector isn't on the task, or your MCP server only exists on your machine the task's Connectors tab: why the cloud can't see your MCP
a last message that asks something or says it couldn't it stopped halfway or is waiting for a yes write to it in the run: how to pick up a finished run

Connectors don't go through the environment's network, so a failing connector never shows host_not_allowed: the 403 belongs to requests the session's commands make, such as a curl or a script.

How to read a run

1. Open it

At claude.ai/code/routines, open the task and click the run under History. It opens as a full session, with everything Claude did.

2. Start at the end

Claude's last message is its report. If it says what it did and what it couldn't, you have what you need. If it's a bare "done", go up through the tool calls that returned an error and look for the strings in the table.

3. Or ask from the terminal

/schedule why did my nightly review do nothing this morning?

Claude lists the task's recent runs with their status and a link to each one, and reads the run's log to explain what happened: tool errors, permission denials and the final result. It needs Claude Code v2.1.227 or later signed in with your claude.ai account, and it doesn't work inside a cloud session.

4. Make the next one tell you without opening it

End the task's prompt with an instruction like this:

Finish with a single line: DONE, NOTHING TO DO or BLOCKED BY <what and where>.

The row will look exactly the same, but the last message now tells you which of the three it was.

What the row does tell you

At the end of the row Means
nothing (Succeeded) the session ended without a Claude Code failure, whether or not the work got done
Error (Failed) the session didn't finish normally: it stopped, ended on an error or was archived before it started
Cancelled it didn't fail and its session was archived; archiving one that went fine turns it Cancelled too

Official docs: View and interact with runs · Manage scheduled tasks from the CLI

Requirements

  • Cloud scheduled tasks, on a Pro, Max, Ultra, Team or Enterprise plan. To ask with /schedule, Claude Code v2.1.227 or later signed in with a claude.ai subscription.

Found this useful? See more of wmedia.es in your Google results.

Add wmedia.es as a preferred source on Google
Free guide

The 51 essentials, as a guide.

One page per tip. Five chapters. What I actually use daily in production. No theory, no fluff.

  • 1. Getting started 10 tips
  • 2. Awareness 3 tips
  • 3. Mastery 22 tips
  • 4. Autonomy 15 tips
  • 5. Comparison 1 tip
Are you a professional Web developer?

You'll receive the guide by email · You join the Gravitas newsletter · Unsubscribe anytime

of 51
#

Wmedia · 51 tips
Free guide · 51 tips · 5 chapters

The 51 essentials, as a guide.

One page per tip. Five chapters. What I actually use daily in production. No theory, no fluff.

Are you a professional Web developer? · Unsubscribe anytime
How I use AI

My Claude Code workflow.

The skills, agents and instructions I use as a professional Software Engineer. It's called Craft, and it's a plugin you can install.

See the skills

Want the 51 Claude Code essentials as a guide?