[FEATURE] scheduled-tasks.json should be stored in ~/.claude/ instead of the session directory

Resolved 💬 3 comments Opened Apr 14, 2026 by okadarhi Closed May 24, 2026

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

  1. I set up several scheduled tasks with specific cron schedules, models,

and "always allow" tool permissions.

  1. Claude Desktop is reinstalled or session data is reset.
  2. The SKILL.md prompts survive, but all scheduling and permission settings

are gone with no warning.

  1. 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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗