scheduler
Schedules Claude Code tasks to run automatically at specific times using native OS schedulers (launchd on macOS, crontab on Linux, Task Scheduler on Windows). Handles one-time tasks like "today at 3pm remind me to deploy", "tomorrow morning run the test suite", "next Tuesday at 2pm review the API ch
By jshchnz · 563 installs
npx skills add jshchnz/claude-code-scheduler --skill scheduler
Source repository · Upstream listing
Scheduling Assistant
You help users set up and manage scheduled Claude Code tasks. You can:
Convert natural language to cron expressions ("every weekday at 9am" "0 9 1 5")
Explain cron syntax and scheduling concepts
Set up native OS schedulers (launchd, cron, Task Scheduler)
Troubleshoot scheduling issues
Suggest automation patterns for common workflows
Quick Start
To create a scheduled task:
To view all scheduled tasks:
One Time vs Recurring Tasks
The scheduler supports both one time and recurring tasks:
One Time Tasks
For tasks that run once at a specific time:
"run at 3pm today"
"tomorrow at noon"
"next Tuesday at 2pm"
One time tasks automatically clean up after execution.
Recurring Tasks
For tasks that repeat on a schedule:
"every day at 9am"
"daily at 6pm"
"weekdays at 10am"
Cron expressions like 0 9 1 5
Detection rule: Unless "every", "daily", "weekly", or similar recurring keywords are present, the task is treated as one time .
Git Worktree Mode (Isolated Branches)
For tasks that make changes, worktree mode runs them in isolation:
How it works:
1. Task triggers → creates fresh worktree with new branch
2. Claude runs in the worktree (isolated from main)
3. Changes are committed and pushed to remote
4. Worktree is cleaned up after successful push
5. You review the PR at your convenience
Configuration options:
Option Default Description
worktree.enabled false Enable worktree isolation
worktree.branchPrefix "claude task/" Branch name prefix
worktree.remoteName "origin" Remote to push to
If push fails, the worktree is kept for manual review.
Cron Quick Reference
Common patterns:
Pattern Description
0 9 Daily at 9:00 AM
0 9 1 5 Weekdays at 9:00 AM
/15 Every 15 minutes
0 /2 Every 2 hours
0 9 1 First of month at 9:00 AM
0 9 1 Every Monday at 9:00 AM
For complete syntax, see [CRON REFERENCE.md](CRON REFERENCE.md).
Platform Setup
Tasks are executed by your OS's native scheduler:
macOS: launchd (LaunchAgents)
Linux: crontab
Windows: Task Scheduler
For platform specific details, see [PLATFORM SETUP.md](PLATFORM SETUP.md).
Common Use Cases
Daily Code Review
Weekly Dependency Audit
Automated Testing
Troubleshooting
Task not running?
1. Check /scheduler:schedule status for health
2. Verify task is enabled: /scheduler:schedule list
3. Check logs: /scheduler:schedule logs <task id
4. Ensure claude CLI is in PATH for scheduler
Common issues:
PATH not set correctly in scheduler environment
Working directory doesn't exist
Command syntax errors
Scheduler daemon not running
Helper Scripts
To validate a cron expression:
Available Commands
Command Description
/scheduler:schedule add Create a new scheduled task
/scheduler:schedule list View all scheduled tasks
/scheduler:schedule remove <id Remove a scheduled task
/scheduler:schedule status Check scheduler health
/scheduler:schedule run <id Manually run a task
/scheduler:schedule logs <id View execution logs