Claude Supervisor: wait out Claude Code usage limits, then auto-resume
If you use Claude Code for long, agentic tasks, I wanted to just… walk away and have it resume itself. So I built Claude Supervisor — a legitimate usage-limit reset, resumes, optionally answers the repetitive Important framing up front: it is not a bypass. It never touches waits for real resets and

If you use Claude Code for long, agentic tasks, I wanted to just… walk away and have it resume itself. So I built Claude Supervisor — a legitimate usage-limit reset, resumes, optionally answers the repetitive Important framing up front: it is not a bypass. It never touches waits for real resets and pipx install claude-supervisor claude-supervisor init claude-supervisor start --task "add type hints across the package" Walk away. It runs the task, and if you hit a limit it waits out the reset and $ claude-supervisor status total_sessions 5 resumes 4 hours_saved 20.0 It even tracks "hours saved" — the unattended waiting it did on your behalf. Claude Supervisor launches the claude CLI inside a pseudo-terminal (PTY) and external , not code — recognize four things: a usage limit, a permission prompt, state : STARTING → RUNNING ⇄ WAITING_FOR_PERMISSION │ ├→ WAITING_FOR_RESET → RESUMING → RUNNING │ └→ TASK_COMPLETED → STOPPED Two design choices I'm happy with: Detection lives in YAML. When Claude Code changes its wording, you edit a rules file (or point at your own) — no code release needed. A compatibility layer from day one. The safety rule is structural. TASK_COMPLETED has exactly one exit: STOPPED. There is no transition back to RUNNING, so the supervisor cannot start new work on its own. It's enforced by the transition table and a test — not by a comment. I built the whole thing test-first with a scripted fake terminal: 180+ tests, real Windows ANSI escape sequences. A real PTY (and Claude's TUI) interleaves colour \x1b[32m…\x1b[0m. My patterns matched raw Carriage return vs. line feed. To answer a prompt I sent "y\n". On a \n is not the Enter key — so the child process sat blocked \r. One character. That was the lesson of the project: a green test suite is necessary, not The real terminal is the source of truth. I turned that first real Because the supervising runs from your shell, I surfaced its status inside the status line (🛡 3 runs · 1 resume · 2.1h saved) /supervisor slash command. Both read the same local SQLite history. It's an early alpha — but a serious one: validated end-to-end against real Claude pipx install claude-supervisor GitHub: https://github.com/OnamSharma/claude-supervisor The single most useful thing you can send: a real Claude usage-limit message so I can sharpen detection. Run with --capture run.txt and open an issue. If you've ever lost momentum to a usage limit, I'd genuinely love your feedback. Stars, issues, and "here's what broke for me" all welcome. ⭐
Key Takeaways
- •If you use Claude Code for long, agentic tasks, I wanted to just… walk away and have it resume itself
- •This story was reported by Dev.to, covering developments in the dev space.
- •AI advancements continue to reshape industries — read the full article on Dev.to for complete coverage.
📖 Continue reading the full article:
Read Full Article on Dev.to →


