@mohitkumawat/warmup-cli
v1.3.0
Published
Pre-warm your Claude rate limits while you sleep. One command, zero daily effort.
Maintainers
Readme
☕ WarmUp
Pre-warm your Claude rate limits while you sleep.
One command. Zero daily effort. Full Claude capacity precisely when you need it.
npm install -g @mohitkumawat/warmup-cli
$ warmup
warmup v1.3.0
Schedule: 7:00 AM daily (America/New_York) active
Wake: scheduled (runs while asleep)
Last run: 7:00 AM ✔ success
Window: [████████████▓░░░░░░░░░░░░░░░░░] 45% elapsed
start now reset
7:00 AM 9:15 AM 12:00 PM
✔ Window resets in ~2h 45m. Full capacity at 12:00 PM.🛑 The Problem
Claude Pro and Max subscribers share a 5-hour rolling rate limit window across Claude Code, Cowork, and claude.ai. When you start an intensive coding session, you burn through your messages fast — then sit idle for 2–3 hours waiting for the window to reset.
🟢 The Solution
warmup starts your rate limit window before you wake up by scheduling one tiny Claude Code ping (~10 tokens) at the exact right time.
By the time you sit down to work, the window is timed to reset exactly when you'd otherwise hit the limit — handing you 100% fresh capacity in the middle of your workday.
⏱️ Side-by-Side Comparison
| ❌ Without warmup | ✅ With warmup |
| :--- | :--- |
| 10:00 AM → You start working, window starts. | 7:00 AM → warmup sends one tiny ping (window starts). |
| 12:00 PM → Rate limited! 🛑 Must wait until 3:00 PM. | 10:00 AM → You start working using the active window. |
| 1:00 PM → Still waiting... ⏳ | 12:00 PM → You exhaust your limits, BUT the 7:00 AM window ends right now! |
| 2:00 PM → Still waiting... ⏳ | 12:01 PM → Window resets instantly. 🚀 Full capacity continues. |
You just saved over 3 hours of waiting.
Times are illustrative — this example assumes ~2 hours of heavy use before you hit the limit.
⚡ Installation
npm install -g @mohitkumawat/warmup-cliNote: Prerequisites: Claude Code must be installed and authenticated.
🚀 Quick Start
Run warmup anywhere in your terminal:
warmupFirst run? It opens a guided setup wizard — no flags to memorize.
🔍 What happens behind the scenes?
- 📜 Shows the exact background command (
claude -p ping --max-turns 1) transparently. - 🕒 Asks about your typical work schedule.
- 📊 Shows a detailed geometric preview of the scheduled timeline before explicitly asking for confirmation.
- 💾 Stores config and logs purely locally in
~/.warmup/.
🛡️ What DOES NOT happen?
- ❌ Setup does not send a live Claude request or burn any limits.
- ❌
warmupdoes not proxy your session, extract tokens, or phone home to any server. Privacy first.
🧠 Smart Setup
We don't ask you to do modulo-math to figure out your 5-hour window. warmup simply asks you two plain-English questions:
- When do you start working? (e.g., 9:00 AM)
- How quickly do you exhaust limits? (e.g., 1-2 hours)
It then automatically calculates the exact optimal pre-warm time to ensure your rate limit resets exactly the minute you run out of messages.
🛡️ Bulletproof Boot-Recovery
What if my computer is off or asleep at the scheduled pre-warm time?
warmup wakes your machine a few minutes early and fires the ping while you're still asleep — so your fresh window is ready before you sit down, not hours later when you open the lid. If the machine was fully powered off, it catches up on the next boot.
Either way, built-in deduplication guards mean it will never double-fire or burn a second rate-limit window — even if you restart your computer 10 times a day.
| OS | Wake & Background Mechanism |
| :--- | :--- |
| 🍎 macOS | launchd (StartCalendarInterval + RunAtLoad) plus a scheduled wake via pmset repeat wakeorpoweron |
| 🐧 Linux | systemd timers via Persistent=true + WakeSystem=true |
| 🪟 Windows | schtasks via StartWhenAvailable + WakeToRun |
🛠️ Commands Reference
| Command | Description |
| :--- | :--- |
| warmup setup | Smart interactive setup wizard |
| warmup status | Show schedule and live window progress bar |
| warmup test | Fire a pre-warm right now |
| warmup update | Change your schedule / re-run the smart wizard |
| warmup pause | Pause the daily schedule |
| warmup resume | Resume the daily schedule |
| warmup uninstall | Remove the background task |
