You're paying for Claude Code and Codex subscriptions. But when you go to bed, those subscriptions sit idle. OvernightCoder fixes that.
Give it a list of tasks, go to sleep, and wake up to pull requests.
Most developers work on one thing at a time. Your backlog piles up. Meanwhile, you're paying for AI coding tools that do nothing for 8+ hours every night.
OvernightCoder takes your to-do list and works through it while you sleep. For each task, it:
- Creates a separate branch so nothing conflicts
- Writes tests first, then writes the code to pass them
- Gets the code reviewed automatically by Codex
- Opens a pull request (or merges it for you)
- Moves on to the next task
In the morning, you get a summary of what got done and links to every PR.
Before using OvernightCoder, make sure you have:
- A Mac (with
caffeinate) or Linux machine with systemd (withsystemd-inhibit) — used to keep your computer awake overnight - Claude Code with the Superpowers plugin installed
- Codex CLI installed from github.com/openai/codex (run
codex --versionto check) - GitHub CLI installed from cli.github.com and logged in (run
gh auth statusto check) - A project on GitHub with a test suite already set up
Open Claude Code and paste this entire block:
Install the overnight-coder skill and its dependency, the codex-review-loop skill. Run these two commands:
git clone https://github.com/eishan05/codex-review-loop ~/.claude/skills/codex-review-loop
git clone https://github.com/eishan05/OvernightCoder /tmp/OvernightCoder && cp -r /tmp/OvernightCoder/skills/overnight-coder ~/.claude/skills/overnight-coder && rm -rf /tmp/OvernightCoder
Then verify both skills are installed by listing the contents of ~/.claude/skills/overnight-coder and ~/.claude/skills/codex-review-loop.
# 1. Install the codex-review-loop skill (required dependency)
git clone https://github.com/eishan05/codex-review-loop ~/.claude/skills/codex-review-loop
# 2. Install overnight-coder
git clone https://github.com/eishan05/OvernightCoder /tmp/OvernightCoder
cp -r /tmp/OvernightCoder/skills/overnight-coder ~/.claude/skills/overnight-coder
cp /tmp/OvernightCoder/overnight-runner.sh /path/to/your/project/ # optional: for auto-restart on usage limits
rm -rf /tmp/OvernightCoder1. Write a to-do list file in your project. Any format works. For example, a TODO.md:
- [ ] Add user login with email and password
- [ ] Fix the bug where the homepage redirects twice
- [ ] Add a Stripe payment page
- [ ] Write an API endpoint for user profiles2. Open Claude Code in your project folder and type:
Use the overnight-coder skill with TODO.md
3. Answer two quick questions:
- Merge preference - pick
autonomousif you want PRs merged automatically, orreviewif you'd rather look at them yourself in the morning - Sequential or parallel - sequential is safer (one task at a time), parallel is faster (groups independent tasks together)
4. Go to sleep. OvernightCoder keeps your computer awake and works through the list. Keep the lid open or configure your OS to not suspend on lid close.
5. Check the summary in the morning. You'll see which tasks succeeded, which failed (and why), and links to every pull request.
For each task on your list, OvernightCoder:
- Makes a clean copy of your code in a separate folder (so tasks don't step on each other)
- Writes tests for what the task should do
- Writes the code to make those tests pass
- Pushes the code and opens a pull request on GitHub
- Asks Codex to review the code (up to 9 review passes)
- Fixes anything Codex flags
- Merges the PR or leaves it for you, depending on what you chose
- Clears its memory and moves on to the next task
If a task fails, it tries once more with a fresh start. If it fails again, it logs why and moves on - one bad task won't block the rest.
If your run gets interrupted (power outage, accidental close, etc.), just run the same command again:
Use the overnight-coder skill with TODO.md
It saves progress to a state file, so it'll ask if you want to pick up where you left off.
If you're on a Claude Max plan, you may hit usage limits during long overnight runs. Normally this requires you to manually select "Wait" and then type "continue" after the limit resets — but you're asleep.
The overnight-runner.sh wrapper script handles this automatically. It runs Claude Code in headless mode and restarts it after a cooldown when limits are hit, using the skill's built-in resume mechanism.
Setup: Copy the wrapper script into your project root:
curl -o overnight-runner.sh https://raw.githubusercontent.com/eishan05/OvernightCoder/main/overnight-runner.sh && chmod +x overnight-runner.shUsage: From your project root:
./overnight-runner.sh TODO.mdThat's it. Go to sleep. If Claude hits a usage limit, the wrapper waits 60 minutes (configurable) and restarts.
Options:
| Flag | Default | Description |
|---|---|---|
--mode <sequential|parallel> |
sequential |
Execution mode |
--merge <autonomous|review> |
autonomous |
Merge preference |
--cooldown <minutes> |
60 |
Wait between restarts |
--max-restarts <N> |
10 |
Give up after N restarts |
./overnight-runner.sh TODO.md --mode parallel --merge review
./overnight-runner.sh TODO.md --cooldown 90 --max-restarts 5
./overnight-runner.sh TODO.md -- --model claude-sonnet-4-6 # extra claude args after --How it works:
- Writes a sentinel file with your mode/merge preferences so Claude doesn't need to ask
- Launches
claude -p "Use the overnight-coder skill with TODO.md" --yes - When Claude exits (usage limit, crash, etc.), checks state files and run artifacts for remaining tasks
- If tasks remain, waits the cooldown period, then restarts with an auto-resume sentinel
- Repeats until no resumable tasks remain or max restarts reached
Requirements:
- Everything needed for OvernightCoder (see above)
python3(used to inspect JSON state files — already installed on macOS and most Linux)
All output is logged to overnight-runner.log in your project root.
The default Codex review model is gpt-5.4 with high reasoning effort. To change this, edit the file at:
~/.claude/skills/overnight-coder/implementer-prompt.md
Look for the Model: and Reasoning effort: lines in the Codex Review Loop section.
MIT