Skip to main content

Claude Code Scheduler - GUI application for scheduling Claude Code CLI sessions

Project description

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

Project details


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.

Supported by

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