Skip to main content

claude-code-scheduler

Claude Code Scheduler Logo

Python Version License: MIT Code style: ruff Type checked: mypy Built with Claude Code

A GUI application and CLI tool that provides scheduling and management for Claude Code CLI sessions with REST API control.

Claude Code Scheduler GUI

Features

  • Scheduling: Manual, interval, calendar, and file-watch triggers
  • Data Model: Job → Task → Run hierarchy for organized workflows
  • REST API: External control via HTTP (port 5679)
  • Profiles: Environment configurations for AWS Bedrock, Z.AI, Anthropic API
  • CLI: Full management via command line with agent-friendly help
  • Export/Import: Backup and share job configurations

Quick Start

# Install
git clone https://github.com/dnvriend/claude-code-scheduler.git
cd claude-code-scheduler
uv tool install .

# Launch GUI
claude-code-scheduler gui

# Check health
curl http://127.0.0.1:5679/api/health

Headless Server Mode

Run as a headless server without GUI for CI/CD, containers, or daemon use:

# Launch headless server
claude-code-scheduler server

# With options
claude-code-scheduler server --port 8080 --workers 5

# Verbose logging
claude-code-scheduler server -v
Option Default Description
--port, -p 5679 REST API port
--workers, -w 3 Max parallel jobs
-v - Verbose logging (-vv for debug)

The server provides the same REST API as the GUI and supports parallel job execution.

Data Model

Job (1) → Task (many) → Run (many)
  • Job: Container for related tasks with working directory
  • Task: A Claude Code prompt with profile and schedule
  • Run: Execution record with status and output

CLI Commands

# Jobs
claude-code-scheduler cli jobs list              # List all jobs
claude-code-scheduler cli jobs create --name "Feature" --working-directory ~/projects/repo
claude-code-scheduler cli jobs run <job-id>      # Start sequential execution
claude-code-scheduler cli jobs export <job-id> -o backup.json
claude-code-scheduler cli jobs import -i backup.json

# Tasks (use --zai or --bedrock shortcuts)
claude-code-scheduler cli tasks create \
    --name "Code Review" \
    --prompt "Review code for issues" \
    --zai \
    --job <job-id>

claude-code-scheduler cli tasks list
claude-code-scheduler cli tasks run <task-id>

# Runs
claude-code-scheduler cli runs list
claude-code-scheduler cli runs stop <run-id>

# Profiles
claude-code-scheduler cli profiles list
claude-code-scheduler cli profiles get <profile-id>

Profile Shortcuts

Shortcut Profile Description
--zai Z.AI API Z.AI Claude API access
--bedrock AWS Bedrock AWS Bedrock Claude access

Debug Commands

# File-based inspection (no GUI required)
claude-code-scheduler debug all       # Complete state dump
claude-code-scheduler debug tasks     # List all tasks
claude-code-scheduler debug runs      # Recent runs
claude-code-scheduler debug settings  # Current settings

REST API

# Health check
curl http://127.0.0.1:5679/api/health

# List resources
curl http://127.0.0.1:5679/api/jobs
curl http://127.0.0.1:5679/api/tasks
curl http://127.0.0.1:5679/api/runs

# Create task
curl -X POST -H "Content-Type: application/json" \
  -d '{"name":"Test","prompt":"echo hi","profile":"<profile-id>"}' \
  http://127.0.0.1:5679/api/tasks

# Run job
curl -X POST http://127.0.0.1:5679/api/jobs/{id}/run

Development

make install    # Install dependencies
make test       # Run tests
make lint       # Run linting
make typecheck  # Type checking
make pipeline   # Full CI pipeline

Data Files

~/.claude-scheduler/
├── jobs.json        # Job configurations
├── tasks.json       # Task configurations
├── runs.json        # Execution history
├── profiles.json    # Environment profiles
├── settings.json    # Application settings
└── logs/            # Per-run output logs

License

MIT License - see LICENSE

Author

Dennis Vriend - @dnvriend


Built with Claude Code

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_code_scheduler-0.3.0.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_code_scheduler-0.3.0-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file claude_code_scheduler-0.3.0.tar.gz.

File metadata

  • Download URL: claude_code_scheduler-0.3.0.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claude_code_scheduler-0.3.0.tar.gz
Algorithm Hash digest
SHA256 95bd626e5f4f7ceb9f01a151790d2ffbc60bd81b61823b949c50496328a8fdc9
MD5 3a820a0fe3edb74db2fee9a343c0563e
BLAKE2b-256 77cb2852b9f57bb17fb816ae8bcd6389e2ac907716df024ca8ffedf7bf6f1341

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_code_scheduler-0.3.0.tar.gz:

Publisher: publish.yml on dnvriend/claude-code-scheduler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_code_scheduler-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_code_scheduler-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 69e1cfdb39f0a382e9c6b0b89418640f576bb0c4faa413db83947ff9d957d3fc
MD5 c48c24cae4d61725fd7dcba854a2b498
BLAKE2b-256 12102ce9b2e3013d43c51935c98700b77d34c28933a11517942ac198a7358e04

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_code_scheduler-0.3.0-py3-none-any.whl:

Publisher: publish.yml on dnvriend/claude-code-scheduler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page