schedule-add
Create a new scheduled task for recurring Claude Code execution (project)
List all scheduled tasks with their status and next run times (project)
> /plugin marketplace add jshchnz/claude-code-scheduler > /plugin install scheduler@claude-scheduler
How it fires
How this command gets triggered: by you, by Claude, or both.
/schedule-listContext preview
What this command does when you run it.
List all scheduled tasks with their status and next run times (project)
description: List all scheduled tasks with their status and next run times (project) allowed-tools: Read, Bash(ls:*), Bash(cat:*), Bash(plutil:*), Bash(launchctl:*), Bash(crontab:*), Bash(schtasks:*)
Display ALL scheduled tasks across all projects by scanning the native scheduler.
1. **Discover ALL Registered Tasks from Native Scheduler**
**macOS (launchd):**
ls ~/Library/LaunchAgents/com.claude.schedule.*.plist 2>/dev/null
For each plist found, extract task info:
plutil -p ~/Library/LaunchAgents/com.claude.schedule.<id>.plist
**Linux (crontab):**
crontab -l | grep "# claude-scheduler:"
**Windows:**
schtasks /Query /FO CSV | findstr "ClaudeScheduler"
2. **Parse Task Information** From each native scheduler entry, extract:
**For one-time tasks**, extract target timestamp from bash command:
# ProgramArguments contains: "TARGET=1736376240; NOW=..." # Extract and convert: date -r 1736376240 "+%b %d, %Y %I:%M %p"
3. **Enrich with Config Metadata (optional)**
4. **Check Status**
launchctl list | grep com.claude.schedule
5. **Display Table** Format output as a table with columns:
# Scheduled Tasks | ID | Type | Project | Schedule | Status | |-------------------------|-----------|----------------------------|-----------------------|---------| | once.loc-review-sched | one-time | ~/Documents/GitHub/sched | Jan 8, 2026 3:25 PM | pending | | loc-review-joshing | recurring | ~/Documents/GitHub/joshing | Daily at 10:00 AM | enabled | | daily-code-review | recurring | ~/Documents/GitHub/myapp | Weekdays at 9:00 AM | enabled | **Total:** 3 tasks (1 one-time pending, 2 recurring) **Platform:** macOS (launchd) **Commands:** `/schedule-run <id>` | `/schedule-remove <id>` | `/schedule-logs <id>`
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key><integer>10</integer>
<key>Minute</key><integer>0</integer>
</dict>→ "Daily at 10:00 AM"
With Weekday:
<key>Weekday</key><integer>1</integer>
→ "Mondays at 10:00 AM"
One-time tasks use polling with embedded timestamp:
# ProgramArguments contains: "TARGET=1736376240; NOW=$(date +%s); if..."
Extract timestamp and convert:
date -r 1736376240 "+%b %d, %Y %I:%M %p"
→ "Jan 8, 2026 3:25 PM"
If the user asks for details about a specific task, read the plist and show:
If no plist files found:
No scheduled tasks found. To create your first scheduled task, run: /schedule-add
After listing, remind the user of available commands:
Put Claude on autopilot. Schedule code reviews, security audits, and anything else - Claude Code runs them automatically, even while you sleep.
Repo: jshchnz/claude-code-scheduler
Create a new scheduled task for recurring Claude Code execution (project)
View execution history for all scheduled tasks with interactive selection
View execution logs for scheduled tasks
Remove a scheduled task by ID or name
Manually run a scheduled task immediately
Check the health and status of the scheduler system