Skip to main content

Schedule Claude Code jobs with a beautiful TUI or headless mode

Project description

claun

Schedule Claude Code jobs with a TUI or headless mode. Sometimes systemd is just overkill. Pronounced "Klon" like the guitar pedal.

Installation

pip install claun-tui

Quick Start

# Launch TUI (default)
claun

# Launch TUI with pre-filled command
claun -c "Review our metrics from the past hour for anomalies"

# Run in headless mode
claun -H -c "Update bug list from Linear MCP and fix" -m 60

# See what would run without executing
claun --dry-run -c "test command"

Features

  • Beautiful TUI: Single-page interface with all controls visible - no menu diving
  • Headless mode: Run as a background service with terminal output
  • Flexible scheduling: Days of week, hour ranges, minute intervals
  • Claude flags: Pass any flags to claude (like --resume for session persistence)
  • Simple logging: Automatic log files with browseable history

TUI Mode

Launch with claun to get an interactive interface with:

  • Command input field
  • Optional Claude flags (e.g., --resume <session-id> or --model sonnet)
  • Day-of-week toggles (M T W T F S S)
  • Minute interval selector (1, 5, 15, or 60 minutes)
  • Big countdown clock to next run
  • Pause/Resume control
  • Live output log

Keyboard shortcuts:

  • q - Quit
  • p - Pause/Resume
  • r - Run now
  • c - Clear log

Headless Mode

Run without TUI for background/automated use:

# Every 15 minutes (default)
claun -H -c "Check for issues"

# Hourly during work hours
claun -H -c "Status update" --hours "9am-5pm" -m 60

# Weekdays only
claun -H -c "Daily standup" --weekdays -m 60

Session Persistence

To resume a previous Claude Code session, use the --flags option to pass --resume:

# First, note your session ID from a previous run
# Then resume it:
claun -c "Continue working on the feature" -f "--resume abc123-def456"

# In the TUI, enter in the "Claude Flags" field:
# --resume abc123-def456

You can also pass other claude flags:

# Use a specific model
claun -c "Pull and fix bugs from the Linear MCP, run /code-simplifier and push PRs" -f "--model opus"

# Enable web search
claun -c "What is the score of the Niners/Seahawks game?" -f "--allowedTools WebSearch"

# Combine multiple flags
claun -c "Fix the next bug on the bug list" -f "--resume abc123 --model sonnet"

CLI Options

Options:
  -c, --command TEXT      Claude Code command to run
  -f, --flags TEXT        Extra flags for claude (e.g., '--resume abc123')
  -H, --headless          Run in headless mode (no TUI)
  -d, --days TEXT         Days to run (mon,tue,wed,thu,fri,sat,sun)
  --weekdays              Run only on weekdays (mon-fri)
  --weekends              Run only on weekends (sat-sun)
  --hours TEXT            Hour range (e.g., '9-17' or '9am-5pm')
  -m, --minutes [1|5|15|60]  Minute interval
  -l, --log-path PATH     Directory for log files
  --log-id TEXT           Optional ID prefix for log filenames
  -P, --paused            Start in paused state
  --once                  Run once immediately and exit
  --dry-run               Show schedule without executing
  -v, --version           Show version

Subcommands

Browse Logs

# List recent logs in current directory
claun logs

# List logs from specific path
claun logs --path /var/log/claun

# Limit to 10 most recent
claun logs -n 10

Log Files

Logs are saved as: [log_id_]claun_YYYYMMDD_HHMMSS_microseconds.txt

Examples:

  • claun_20260112_143022_123456.txt
  • myproject_claun_20260112_143022_789012.txt (with --log-id)

License

GPL-3.0

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

claun_tui-0.2.0.tar.gz (41.1 kB view details)

Uploaded Source

Built Distribution

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

claun_tui-0.2.0-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file claun_tui-0.2.0.tar.gz.

File metadata

  • Download URL: claun_tui-0.2.0.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claun_tui-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1ba1f57412ae1f9c805212d53f4d37fe0fc8942426ebb89889cb7e139b9896e4
MD5 406f4276aae4e6d1aa6761bd7ffeb42a
BLAKE2b-256 e01c1a5eaf4a84d870551e7f49bac4fe69a9c91a23b8b6635f63c433b6223423

See more details on using hashes here.

Provenance

The following attestation bundles were made for claun_tui-0.2.0.tar.gz:

Publisher: publish.yml on nsmith/claun

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

File details

Details for the file claun_tui-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: claun_tui-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for claun_tui-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72497dcb97351c4d6812c0d15c01f089e49da44a82ee334ae3c9fdfd28e79e7e
MD5 e9e497432b41e113de3c1a5431951af8
BLAKE2b-256 265844eba575978ec1d81ec05d6e2a2a73c370ac9a3d2378c437307998de8515

See more details on using hashes here.

Provenance

The following attestation bundles were made for claun_tui-0.2.0-py3-none-any.whl:

Publisher: publish.yml on nsmith/claun

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