Run Claude Code Unattended: Queue the Work and Walk Away
The promise of a coding agent is that it works while you don’t. The reality, if you live in the terminal, is the opposite: you start a run, watch it, and the second you look away it either finishes and idles or hits the usage limit and hard-stops mid-task. Either way you’re the loop — the thing that notices, waits, and restarts.
“Unattended” means removing yourself from that loop. Not a faster agent — an agent that keeps its own schedule. Here’s what actually stands between you and leaving a run going overnight, and how to close the gap.
Why Claude Code can’t run unattended on its own
Three things break the moment you step away from a raw claude -p session:
- The usage limit is a dead stop. Hit your rolling session cap and the CLI exits with the work half-done. There’s no built-in “wait for the reset and continue” — an open request for exactly that has sat in the tracker for a while.
- Nothing owns the remaining work. The task lived in your head and the scrollback. When the session dies, so does the plan for what was left.
- Context evaporates. A new session doesn’t know your stack, your goals, or what the last run already finished. You rebuild that by hand every time.
Any real “unattended” setup has to solve all three — persistence, scheduling, and context — not just retry a command.
The DIY route: tmux, watchers, and cron
The community stitches it together. A tmux watchdog
wraps the CLI, greps the output for the limit message, sleeps until the reset, and sends
“continue.” Layer cron on top to kick off runs on a schedule, and --continue /
--resume to reattach to a prior session.
It works. The cost is that you’re now maintaining a small pile of shell infrastructure — one watcher per terminal, per project — and it’s blind to what was being built. It can resend “continue”; it can’t tell you which features shipped before the stop and which didn’t. When you come back to three panes and a scrollback, that answer is on you.
The structural route: make the limit a schedule
The cleaner fix is to run agents through something that already owns the work items, so an interrupted task is just a queued task. That’s the model Instify uses:
- Every feature is a story on a board. The work lives in a card, not a terminal buffer — so a dead session never takes the plan with it.
- The limit becomes a timestamp. When a run hits the cap, Instify reads the exact reset time from the agent’s own output and schedules the card for that moment. It hit the limit again on retry? It just reschedules — the loop sustains itself until the quota clears.
- Resumption is automatic. At reset time a fresh session starts and picks the story
back up, with your project’s context already loaded. No
--resume, no watcher, no babysitting.
Leave the app running overnight and you wake up to finished cards instead of a stalled terminal. Two honest caveats. First, automatic resume is a Pro-plan feature — on Free and Standard, Instify flags the interrupted story so you can restart it in a click once the quota resets. Second, Instify has to be running for it to catch the reset: it’s a Mac app watching the clock, not a cloud queue. Keep it open and the loop runs itself; the moment it launches it also sweeps up anything that came due while it was closed.
What “unattended” buys you
The point isn’t just surviving the limit — it’s changing when you work. Queue a night’s worth of stories before you close the laptop lid on your desk. Batch the boring ones and let them drain against your quota while you’re in meetings. Stop timing your deep work around a rolling window you can’t see.
A kanban board for your agents is what makes that legible: come back and the board tells you what shipped, what’s still queued, and what’s mid-run — at a glance, not by scrolling.
The short version
- Raw Claude Code can’t run unattended: the limit is a hard stop, nothing owns the remaining work, and context resets each session.
- tmux watchers plus cron automate the retry, at the cost of per-terminal infrastructure that’s blind to what’s actually being built.
- Run stories through a board that queues and auto-resumes, and the limit turns into a schedule you never have to manage.
Queue your work, hit the limit, walk away — Instify resumes it when your quota resets. Mac-native, runs locally, free to start. Download for Mac → · See how Instify works →
Related: what to do when Claude Code’s usage limit is reached · run multiple Claude Code agents in parallel.