claude-code-scheduler plugin

A Claude Code plugin that runs tasks on a schedule: code reviews, security checks and summaries through launchd, cron or Windows Task Scheduler

  • 512 ★ on the repository
  • Last commit
  • MIT
Plugin

Broad access

Why this level

  • Registers tasks with the system scheduler: they run `claude -p` as you even when no session is open
  • Autonomous mode adds `--dangerously-skip-permissions`, and the agent edits files and runs commands without confirmation
  • In worktree mode changes are committed and pushed to the remote; start with read-only tasks
All reasons and checks

jshchnz/claude-code-scheduler

Install

Works in

In your terminal, with SkillFoxx CLI

npx skillfoxx add plugins/claude-code-scheduler

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Registers tasks with the system scheduler: they run `claude -p` as you even when no session is open
  • Autonomous mode adds `--dangerously-skip-permissions`, and the agent edits files and runs commands without confirmation
  • In worktree mode changes are committed and pushed to the remote; start with read-only tasks

This is third-party code. Review the repository files before installing.

What it does

claude-code-scheduler lets you ask Claude Code in plain language, for example «every weekday at 9am review yesterday's commits», and get a task that fires on its own. The plugin turns the phrase into a cron expression and registers the task with the system scheduler: launchd on macOS, crontab on Linux, Task Scheduler on Windows. At the set time `claude -p` runs with your command, the output goes to a log, and one-time tasks delete themselves after running. A task can be read-only or autonomous. For an autonomous task the plugin adds `--dangerously-skip-permissions` so Claude can edit files and run commands without confirmation prompts. A separate mode isolates such runs in a git worktree: the task works in a new branch with the `claude-task/` prefix, the changes are committed and pushed to the remote, and the main branch stays untouched. You manage tasks with `/scheduler:schedule-add`, `schedule-list`, `schedule-remove`, `schedule-status`, `schedule-run` and `schedule-logs`. Schedules live in `.claude/schedules.json` in the project or in `~/.claude/schedules.json`.

Who it is for. For Claude Code developers who want regular checks of code, dependencies and security without launching them by hand.

Good fit when

  • Every weekday morning you want yesterday's commits reviewed for bugs, error handling gaps and missing tests
  • On Mondays you want outdated dependencies with known CVEs and hardcoded keys found
  • Once a week you want a list of TODO, FIXME and HACK comments by file with the three top items
  • You want deprecated API calls refactored overnight in a separate branch and handed back as a branch for review
  • You need a one-off reminder like «run the test suite tomorrow morning»: the task deletes itself after it runs

Not a fit when

  • You need a cloud run without a powered-on computer: tasks register with your system's scheduler and run on that machine
  • You need human input mid-task: a run through `claude -p` has no dialogue
  • The project has no git or no remote: worktree mode pushes a branch to the remote
  • You need event triggers like a new commit or an email: only time-based and cron-expression runs are supported

Example request

Schedule a security audit every Monday at 10am: outdated dependencies with known CVEs, hardcoded keys and unsafe patterns, and save the result to the log

Limitations

Claude Code 1.0.33 or newer and the `claude` executable on PATH are required, or tasks will not start. It works on macOS, Linux and Windows through their native schedulers.

Use absolute paths in tasks, otherwise the scheduler will not find the directory. If the automatic branch push fails because there is no remote or access is broken, the worktree is kept in `~/.worktrees/` for manual review.

The repository's last commit dates from January 2026. `/scheduler:schedule-status` checks the state, and execution logs sit in `~/.claude/logs/<task-id>.log`.

How to disable. First remove each task with `/scheduler:schedule-remove <id>`, otherwise the entries stay in the system scheduler. Then remove the plugin through the `/plugin` menu. To confirm nothing is left, run `launchctl list | grep com.claude.schedule` on macOS, `crontab -l | grep claude` on Linux or `schtasks /query /tn "ClaudeSchedule*"` on Windows.

FAQ

How do I install claude-code-scheduler in Claude Code?

Run `/plugin marketplace add jshchnz/claude-code-scheduler`, then `/plugin install scheduler@claude-code-scheduler`. Claude Code 1.0.33 or newer is required. After install you create tasks with a plain phrase or the `/scheduler:schedule-add` command.

What happens if Claude Code is closed at the scheduled time?

Tasks are registered with the system scheduler: launchd, crontab or Task Scheduler. The README says they fire even when Claude Code is not open and survive restarts. The `claude` executable must still be available on PATH.

When to enable autonomous mode and what is a worktree?

Autonomous mode is for tasks that change files. Worktree mode creates a fresh working tree with a branch like `claude-task/task-...`, commits and pushes the changes, then removes the tree. The main branch stays unchanged.

Where do I see the results of runs?

`/scheduler:schedule-logs` shows a table of runs with time, task name, status and duration. With `--full` it prints the complete output. Log files sit in `~/.claude/logs/<task-id>.log`.

Which time phrases does the plugin understand?

One-off ones such as «today at 3pm», «tomorrow morning», «next Tuesday at 2pm», «January 15th», and recurring ones: «every weekday at 9am», «every Monday at 10am», «every 4 hours», «daily at 6pm». The phrase is converted into a cron expression.

Discussion

No questions or reviews yet.

Plugins

Orchestrator for Claude Code, Codex and Gemini CLI: YAML workflows that loop until your own quality gates pass

CLIBroad access331Repository stars

A curated list of Claude skills and plugins, plus Composio's own automation skills for 78 SaaS apps

SkillBroad access78.2KRepository stars

A CLI that loops Claude Code, Codex, OpenCode and other agents over a task list or PRD until everything is done

CLIBroad access3KRepository stars

Connects Claude Code, Cursor, Codex or OpenCode to Telegram, Slack and Discord: teammates message a bot, an agent replies

CLIBroad access325Repository stars
Official

A self-hosted control plane for running several agents: task dispatch, run review, spend tracking, connected via MCP, CLI or REST

MCP serverBroad access6.4KRepository stars

A Claude Code and Codex plugin that builds, validates and signs Apple Shortcuts from a plain-language description

PluginExtended access1.2KRepository stars

README in short

The README opens with an autopilot slogan and two install lines. It then shows the task kinds, which are one-off, recurring and autonomous, plus isolation in a git worktree with a step-by-step description. Next come the feature list, a command table, ready phrasings for typical tasks, viewing run history, the JSON task format, worktree options, how it works and debugging tips for three platforms.

README badge

Original SKILL.md

---
name: scheduler
description: 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 changes", "January 15th check the quarterly metrics". Also handles recurring tasks like "every weekday at 9am review yesterday's code", "daily at 6pm summarize what I accomplished", "every Monday at 10am check for security vulnerabilities", "every 4 hours check API health". Recognizes time formats like "at 9am", "at 1015am", "at 10:30pm", "at noon", relative times like "tomorrow", "tonight", "later", "next week", and dates like "January 15th". Use this skill instead of executing immediately whenever the user's request contains a time expression like "at Xam", "tomorrow", or any future time reference.
allowed-tools: Read, Bash(python:*), Bash(launchctl:*), Bash(crontab:*), Bash(schtasks:*)
---

# 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:
```
/scheduler:schedule-add
```

To view all scheduled tasks:
```
/scheduler:schedule-list
```

## One-Time vs Recurring Tasks

Report a problem

Foxx AIclaude-code-scheduler
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.