Claude Code Scheduler - GUI application for scheduling Claude Code CLI sessions
Project description
claude-code-scheduler
A GUI application and CLI tool that provides scheduling and management for Claude Code CLI sessions with REST API control.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95bd626e5f4f7ceb9f01a151790d2ffbc60bd81b61823b949c50496328a8fdc9
|
|
| MD5 |
3a820a0fe3edb74db2fee9a343c0563e
|
|
| BLAKE2b-256 |
77cb2852b9f57bb17fb816ae8bcd6389e2ac907716df024ca8ffedf7bf6f1341
|
Provenance
The following attestation bundles were made for claude_code_scheduler-0.3.0.tar.gz:
Publisher:
publish.yml on dnvriend/claude-code-scheduler
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_code_scheduler-0.3.0.tar.gz -
Subject digest:
95bd626e5f4f7ceb9f01a151790d2ffbc60bd81b61823b949c50496328a8fdc9 - Sigstore transparency entry: 763236269
- Sigstore integration time:
-
Permalink:
dnvriend/claude-code-scheduler@8d2e8afb12f475eb21648b10784bd57d013eb922 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/dnvriend
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d2e8afb12f475eb21648b10784bd57d013eb922 -
Trigger Event:
push
-
Statement type:
File details
Details for the file claude_code_scheduler-0.3.0-py3-none-any.whl.
File metadata
- Download URL: claude_code_scheduler-0.3.0-py3-none-any.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69e1cfdb39f0a382e9c6b0b89418640f576bb0c4faa413db83947ff9d957d3fc
|
|
| MD5 |
c48c24cae4d61725fd7dcba854a2b498
|
|
| BLAKE2b-256 |
12102ce9b2e3013d43c51935c98700b77d34c28933a11517942ac198a7358e04
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_code_scheduler-0.3.0-py3-none-any.whl -
Subject digest:
69e1cfdb39f0a382e9c6b0b89418640f576bb0c4faa413db83947ff9d957d3fc - Sigstore transparency entry: 763236271
- Sigstore integration time:
-
Permalink:
dnvriend/claude-code-scheduler@8d2e8afb12f475eb21648b10784bd57d013eb922 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/dnvriend
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d2e8afb12f475eb21648b10784bd57d013eb922 -
Trigger Event:
push
-
Statement type: