[FEATURE] scheduled-tasks.json should be stored in ~/.claude/ instead of the session directory
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Task configuration for scheduled tasks is currently split across two locations:
~/.claude/scheduled-tasks/{taskId}/SKILL.md— task prompt (persistent, user-managed)~/Library/Application Support/Claude/claude-code-sessions/{uuid}/{uuid}/scheduled-tasks.json— everything else (session storage, volatile)
The scheduled-tasks.json contains critical configuration that is not recoverable if the session directory is lost:
``json``
{
"id": "my-task",
"cronExpression": "*/30 9-20 * * 1-5",
"enabled": true,
"model": "claude-sonnet-4-6",
"cwd": "/path/to/project",
"permissionMode": "acceptEdits",
"approvedPermissions": [
{ "toolName": "Bash" },
{ "toolName": "Read" }
]
}
The session directory path contains UUIDs that can change or be deleted when:
- Claude Desktop is reinstalled
- A "reset data" operation is performed
- An auto-update wipes the session directory (related: #43719)
When this happens, only the SKILL.md prompt survives. All scheduling, permission, and runtime settings are lost silently.
Proposed Solution
Store all task configuration alongside SKILL.md in ~/.claude/scheduled-tasks/{taskId}/:
~/.claude/scheduled-tasks/my-task/
SKILL.md ← prompt (already here)
task.json ← cronExpression, enabled, model, cwd, permissionMode, approvedPermissions (proposed)
This would make the full task definition:
- Persistent across app reinstalls and resets
- Portable between machines (related: #41364)
- Version-controllable via git
- User-managed consistently with other Claude Code config
Alternative Solutions
Manually back up scheduled-tasks.json after any configuration change.
Priority
High - Significant impact on productivity
Feature Category
Configuration and settings
Use Case Example
- I set up several scheduled tasks with specific cron schedules, models,
and "always allow" tool permissions.
- Claude Desktop is reinstalled or session data is reset.
- The SKILL.md prompts survive, but all scheduling and permission settings
are gone with no warning.
- Every task must be manually reconfigured from scratch before autonomous
execution can resume.
Additional Context
- Related: #43719 (auto-update deletes Cowork session disk)
- Related: #41364 (sharing scheduled tasks between CLI and Desktop)
- Environment: Claude Desktop (macOS), Claude Code 2.1.101
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗