Automated Claude Code runner with rate limit handling.
Run long Claude Code tasks overnight. Tempo automatically detects rate limits, waits for reset, and continues your task without manual intervention. Just start it and go to sleep.
- Automation — Start a task, go to bed, wake up to results. Tempo handles everything automatically
- Smart Rate Limit Handling — Parses Claude's exact reset time ("resets 4am") and waits until then
- Multi-Cycle Support — Runs through as many rate limit cycles as needed to complete your task
- Full Transcripts — Every session is logged to markdown for later review
- Sequence Mode — Run multiple prompts in order, perfect for multi-step projects
- Crash Recovery — Session state is saved, so you can resume if your machine restarts
curl -fsSL https://raw.githubusercontent.com/tomalmog/tempo/main/install.sh | bashirm https://raw.githubusercontent.com/tomalmog/tempo/main/install.ps1 | iexYou can also download binaries directly from the releases page:
tempo-macos-arm64— macOS Apple Silicontempo-macos-x64— macOS Inteltempo-linux-x64— Linux x64tempo-linux-arm64— Linux ARM64tempo-windows-x64.exe— Windows
Run a single large task:
tempo run "Build a full-stack todo app with React, Express, PostgreSQL, and authentication"Or from a file (useful for complex prompts):
tempo run --file ./my-big-task.mdRun multiple prompts in order:
tempo run --sequence ./prompts.yamlExample prompts.yaml:
prompts:
- name: "Project Setup"
prompt: "Initialize a new React TypeScript project with Vite, Tailwind CSS, and ESLint"
- name: "Authentication"
prompt: "Add user authentication with JWT, including login, register, and protected routes"
- name: "Dashboard"
prompt: "Create a dashboard page with user stats, charts using Recharts, and a sidebar navigation"
- name: "Testing"
prompt: "Add comprehensive tests using Vitest and React Testing Library"tempo run "Add dark mode support" --dir ./my-projecttempo statustempo clearIf your machine crashes or restarts during a run, you can pick up where you left off:
tempo resumeNote: You shouldn't need this for normal operation. Tempo automatically waits and continues through rate limits.
Usage: tempo [OPTIONS] COMMAND [ARGS]...
Commands:
run Run a task with Claude Code (main command)
status Show the status of the current session
clear Clear the current session
resume Resume after crash (emergency recovery only)
Run Options:
PROMPT The prompt to send to Claude
-f, --file PATH Read prompt from a file
-s, --sequence PATH Run prompts from a YAML file
-d, --dir PATH Project directory (default: current)
--no-skip-permissions Don't use --dangerously-skip-permissions
--force Start fresh even if session exists
-v, --verbose Verbose output
- Claude Code CLI installed and authenticated
- Claude Pro subscription (for the rate-limited use case this solves)
Tempo uses your existing Claude Code authentication. Before using Tempo:
- Make sure Claude Code is installed:
claude --version - Run Claude once to authenticate:
claude "hello" - If you need to set up a token:
claude setup-token
Tempo doesn't handle authentication itself—it just runs Claude CLI commands using your existing credentials.
MIT