Claude that works while you sleep.
Lea is a menu-bar app that watches your Claude usage and autonomously runs a to-do queue the moment your limit resets. Queue work before bed — wake up to it done.
supabase db pushQueue it tonight. Done by morning.
Lea reads your usage from Claude Code's local transcripts, runs the next task headlessly, and when the limit is hit it simply waits for the reset and picks up where it left off.
Queue your to-dos
Each task is just an instruction plus a project folder. Add as many as you like and leave Lea running.
It runs headlessly
The runner takes the first task and runs claude -p in an isolated sandbox while you have capacity.
Hits the limit? It waits
On a usage-limit, the task is requeued and Lea sleeps until the exact reset time — then retries automatically.
Wake up to results
Finished tasks move to Done with full logs, a change report, and a list of follow-ups for you.
Everything you need to run Claude unattended.
Usage & reset tracking
Live token count, burn rate, value used, and a precise countdown to your next usage-window reset — read straight from your local Claude transcripts via ccusage.
Autonomous task queue
Line up a to-do list of instructions, each scoped to a project folder. Lea works through them one by one, no typing required.
Reset-aware retry
When a run hits the limit, the task goes back to the front of the queue and resumes at the real reset time — looping through your list overnight.
Sandboxed runs
Every run is isolated so an unattended mistake can't wreck your machine. macOS uses a built-in Seatbelt sandbox that confines writes to the project folder.
Keeps your computer awake
Prevents sleep — but only while tasks are pending — so overnight runs actually happen instead of stalling on a sleeping laptop.
Follow-ups for you
When a task needs something only you can do — push to a remote, apply a migration, rotate a key — Lea surfaces it and fires a desktop notification.
Per-task change reports
Each run writes a snapshot diff of what was added, modified, and deleted into Lea_Reports/ in your project — so you can review before trusting it.
Per-model breakdown
See exactly how your window is split across Opus, Sonnet, and Haiku, with live bars and token totals per model.
Chat & reply on a task
Pick up any finished task and keep going — Lea continues Claude's own session with --resume, so context is preserved.
Efficient "away" mode
Switch to a cheaper model when you're idle or asleep, plus live progress streaming so you can watch what Claude is doing in real time.
Up and running in four commands.
Lea is open source. Clone it, install, and start — a small ring icon appears in your menu bar.
# 1. Clone the repo
$ git clone https://github.com/bobby33400/Lea.git
$ cd Lea
# 2. Install dependencies
$ npm install
# 3. Launch the menu-bar app
$ npm start
claude, and Lea starts working. First time, you may need /login in the terminal with claude — then Lea runs normally.
claude in any folder and paste this — it clones, installs, and launches for you.
# Paste this to the claude CLI
Clone https://github.com/bobby33400/Lea.git into this
folder, run npm install inside it, then start
the app with npm start. If anything fails,
fix it and try again.
Requirements
- macOS, Windows, or Linux with Node 18+.
- The claude CLI installed and logged in to your Claude subscription. Verify with
claude --versionandclaude -p "hi". - Docker (optional) — only if you want sandboxed runs on Windows or Linux.
v* tag (or running the GitHub build workflow) produces a .dmg/.zip for macOS, an .exe for Windows, and an .AppImage for Linux. Or build one locally with npm run dist.
.exe) is missing or corrupted. Most likely cause: your project is inside OneDrive, which interferes with node_modules files.
Lea folder):npm.cmd uninstall electron
npm.cmd install electron
npm.cmd start
Move-Item "<your-OneDrive-path>\ClaudeProjekte" "C:\Dev\ClaudeProjekte"
cd C:\Dev\ClaudeProjekte\LEA\Lea
npm.cmd install
npm.cmd start
Unattended Claude is powerful — and risky.
Lea runs Claude with --permission-mode bypassPermissions so headless runs never block on a prompt. That's exactly why isolation matters — and why Lea defaults to the safest option for your platform.
Each run is wrapped in sandbox-exec. File writes are confined to the task's project folder; ~/.ssh, ~/.aws, and Keychains are hard-blocked. Reads, network, and commands stay allowed so Claude's tools still work.
By default Lea runs Claude directly and shows a warning. For real isolation, enable the bundled Docker backend — it mounts only the project folder writable. Build the image with docker build -t lea-claude:latest docker/.
Tune it from the Settings panel.
Every default is adjustable — click any value to open it and choose from the options Lea gives you.
| Setting | Default | What it does |
|---|---|---|
| Auto-run | Master switch for autonomous execution | |
| Sandbox backend | Seatbelt on macOS, none elsewhere — or force Docker / none | |
| Keep computer awake | Prevent sleep while tasks are pending | |
| Quiet hours | Pause auto-run during a chosen time window | |
| Default model | Model used when a task doesn't specify one | |
| Task timeout | Kill a task that runs too long | |
| Max retries | Retries for non-limit errors | |
| Token budget / block | Pause after N tokens per usage window |
Let Claude work the night shift.
Free, open source, and yours to inspect. Clone it and queue your first task tonight.