by saaranshM
Automatically resume Claude Code, Codex CLI, Grok, Qwen Code, Kimi CLI, OpenCode, and Antigravity sessions when 5-hour or weekly usage limits reset—across tmux, Zellij, VS Code, and desktop apps.
# Add to your Claude Code skills
git clone https://github.com/saaranshM/unsnoozeLast scanned: 7/19/2026
{
"issues": [
{
"file": "README.md",
"line": 60,
"type": "dangerous-command",
"message": "Dangerous command (disables permission prompts): \"--dangerously-skip-permissions\"",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-07-19T06:31:41.302Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how unsnooze compares with popular alternatives.
unsnooze is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by saaranshM. Automatically resume Claude Code, Codex CLI, Grok, Qwen Code, Kimi CLI, OpenCode, and Antigravity sessions when 5-hour or weekly usage limits reset—across tmux, Zellij, VS Code, and desktop apps. It has 186 GitHub stars.
Yes. unsnooze passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/saaranshM/unsnooze" and add it to your Claude Code skills directory (see the Installation section above).
unsnooze is primarily written in JavaScript. It is open-source under saaranshM on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh unsnooze against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
Automatically resume every limit-stopped AI coding session when its usage limit resets.
Website · Documentation · Changelog · Feedback
Claude Code · Codex CLI · Grok · Qwen · Kimi · OpenCode · Antigravity · Cursor — when they hit the 5-hour or weekly usage limit ("You've hit your usage limit"), your session just… stops. unsnooze auto-resumes them: it tracks every limit-stopped session across all your projects and wakes each one up the moment the usage limit resets — in tmux, Zellij, herdr or cmux, and on macOS, Linux and Windows, with or without a terminal multiplexer.
npm install -g unsnooze && unsnooze setup
Overnight and long-running agent work dies at the 5-hour / weekly limit, and every existing tool solves only a slice of it:
| unsnooze | claude-auto-retry | autoclaude | hydra | |
|---|---|---|---|---|
| Multi-CLI (Claude · Codex · Grok · Qwen · Kimi · OpenCode · Antigravity · Cursor) | ✅ | ❌ Claude only | ❌ Claude only | partial |
| GUI sessions (VS Code ext, desktop apps) | ✅ watcher daemon | ❌ | ❌ | ❌ |
| Waits for reset & resumes the same session | ✅ | ✅ | ✅ | ❌ switches provider |
| All sessions at once (shared ledger + one daemon) | ✅ | ❌ one pane | ✅ | ✅ |
| Revives sessions whose pane/process is gone | ✅ --resume <id> |
❌ | ❌ | ❌ |
| Survives laptop sleep & weekly-scale waits | ✅ epoch polling | partial | partial | n/a |
| Settings + first-run wizard | ✅ | ❌ | ❌ | ❌ |
npm install -g unsnooze
unsnooze setup # pick agents; installs shell wrappers + the Claude hook
Then use claude, codex and the rest exactly as before — the wrappers run them
in a watched pane. When one hits its limit, unsnooze records the stop and wakes it
the moment the limit resets.
unsnooze status # tracked sessions + reset countdowns (live dashboard on a TTY)
unsnooze preview [id] # dry-run: what would be typed, where, and why — sends nothing
unsnooze resume-now [id|--all]
unsnooze usage # burn rate and time-to-limit, before you hit the wall
unsnooze doctor [--fix] # install health check
Needs Node ≥ 20.12 on macOS, Linux or Windows. tmux ≥ 3.2, Zellij, herdr ≥ 0.8 or cmux give pane-level watching; without one, unsnooze runs headless and still catches and resumes stops. Every command: command reference.
| Agent | Detection | Revival |
|---|---|---|
| Claude Code | StopFailure hook + pane + transcripts; answers the limit menu safely |
claude --resume <id> |
| Codex CLI / ChatGPT app | pane banner + rollout files (exact reset time) | codex resume <id> |
| Grok Build (experimental) | hook + pane | grok --resume <id> |
| Qwen Code (experimental) | hook + pane | qwen --resume <id> |
| Kimi CLI (experimental) | pane | kimi -r <id> |
| OpenCode (experimental) | pane (it retries by itself; unsnooze revives it if it dies) | opencode -s <id> |
Antigravity agy (experimental) |
pane | agy --conversation=<id> |
Cursor cursor-agent (experimental) |
pane; billing-cycle limit, so it probes instead of scheduling | cursor-agent --resume=<id> |
GUI sessions (Claude Code's VS Code extension, the ChatGPT/Codex desktop app, Claude desktop) are watched through the files they already write, by the optional daemon. Per-agent details, OpenRouter, proxy launchers like Headroom, and Claude Design: supported agents.
Stops are detected from agent hooks, saved session files and terminal banners,
and recorded in ~/.unsnooze/state.json with the reset time. A single daemon
checks the clock every 30 seconds — so a laptop that slept through the reset still
wakes on time — then types your resume message into the live pane, or reopens the
session by id if its pane is gone. Every wake is verified; if the limit is still
there it reschedules, up to 5 attempts.
unsnooze is a scheduler that presses your keys — not an auto-approver.
--dangerously-skip-permissions, no auto-trust, no auto-approve. What
your agent does after the wake is governed by its own permission model.updateCheck=false turns it
off) and ntfy push only if you set it up. State stays in ~/.unsnooze.unsnooze uninstall removes
every change. Releases are published with npm provenance.It does inject keystrokes into your terminal, and it does not sandbox your agent. Full threat model and vulnerability reporting: SECURITY.md.
What does "You've hit your usage limit" mean? Claude and ChatGPT plans meter usage in a rolling 5-hour window plus a weekly cap. When either runs out, the agent stops mid-task. Nothing is lost — the session can be resumed after the reset, and unsnooze does that for every stopped session automatically.
Does this get around the rate limit? No. It waits for the reset exactly like you would, resumes once, and checks the limit actually lifted. It replaces the 4am alarm, not the limit.
Can it start my 5-hour window before I sit down? Yes, experimentally:
unsnooze config set primeAt.claude auto learns when you usually start and has
the daemon send one tiny Haiku prompt 3 hours earlier, so the window resets
mid-session instead of 5 hours in. A fixed time like 06:00 works too. Claude
and Codex only. See window priming.
More questions and troubleshooting: unsnooze.dev/docs/troubleshooting.