[BUG]
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?
A Cowork scheduled task bound to a project folder fires on schedule, is marked "Skipped" in its own History, and produces nothing.
The task detail pane shows: "Claude needs to access your Documents folder to read this task." with an [Open settings] button.
The task's prompt lives at ~/Documents/Claude/Scheduled/<task-id>/SKILL.md. Documents is TCC-protected, so without that access the app cannot read the prompt it wrote there itself, and skips the run.
The failure is silent in every place a user would look:
lastRunAt still updates and nextRunAt rolls forward, so the scheduled-tasks API reports the run as having happened. Nothing distinguishes "ran and did the work" from "skipped and did nothing."
Run now is greyed out, so the task cannot be run manually either. There is no way to execute it from the UI at all.
"Open settings" opens the Full Disk Access pane, where the app's toggle is simply off, with no indication that it is off or that it is the thing being requested. The remediation button appears to lead to an already-satisfied setting.
This ran silently for four consecutive days on a daily automation. The task showed Active with a current, on-time lastRunAt the entire time. It was only detectable by checking file modification times by hand.
Any user whose scheduled task depends on local files, and who has not granted Full Disk Access, appears to be silently in this state right now with no signal that anything is wrong.
What Should Happen?
The task should run. Failing that, at minimum:
A skipped run must not update lastRunAt, or the API should expose run status (e.g. lastRunStatus: "skipped"). This alone turns a silent multi-day failure into a visible one, and is independent of the permission question.
Run now should remain enabled, or state precisely why it is disabled.
Reading a task's own SKILL.md should not require Full Disk Access. The app should request kTCCServiceSystemPolicyDocumentsFolder so macOS offers the narrower per-folder grant. macOS only surfaces per-folder toggles for folders an app has specifically requested, so as written the user's only option is all-or-nothing disk access for a single-file read.
Error Messages/Logs
No error is surfaced. The failure is silent everywhere except the task detail pane.
Task metadata after a skipped run (scheduled-tasks API):
taskId: daily-dispatch-early
enabled: true
schedule: At 07:05 AM, every day ("0 7 * * *")
lastRunAt: 2026-07-16T14:01:29.476Z <- updated despite the run being Skipped
nextRunAt: 2026-07-17T14:05:02.000Z <- rolled forward
jitterSeconds: 302
Task detail pane, same run:
History row for 07:05 AM: "Skipped"
Instructions: "Claude needs to access your Documents folder to read this task."
Run now: greyed out, not clickable
Status: Active
Folders: /Users/brian/Desktop/Claude Cowork (inherited from project)
Filesystem five minutes after that "run":
files modified in the bound folder since midnight: 0
sessions created: 0
Steps to Reproduce
On macOS, ensure Claude does NOT have Full Disk Access (System Settings → Privacy & Security → Full Disk Access → toggle off).
In Cowork, create a scheduled task bound to a project folder, with a daily cron schedule.
Wait for the scheduled fire time.
Open the task's detail pane.
Observed:
The History row for that time reads "Skipped".
The Instructions pane shows the Documents-access warning instead of the prompt.
Run now is greyed out.
lastRunAt is updated for that fire and nextRunAt has rolled to the next day.
No session is created and no files in the bound folder are modified.
Task configuration is correct throughout: Active, project bound, folder inherited correctly, schedule and next-run displayed correctly. Nothing user-side is misconfigured.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.211
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_