Skip to content

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

Description

@okadarhi

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • 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:

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:

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.
  2. Claude Desktop is reinstalled or session data is reset.
  3. The SKILL.md prompts survive, but all scheduling and permission settings
    are gone with no warning.
  4. Every task must be manually reconfigured from scratch before autonomous
    execution can resume.

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions