🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
Shell script for Claude Code auto-resume
This repo provides a shell script that checks Claude CLI for usage-limit messages, waits until the reset time, and then resumes the task automatically. It can also run a custom shell command after the wait, and the README shows Linux, macOS, and Windows setup.

Builders who run Claude Code and want a task to continue after a usage limit reset.
You can let Claude pick up unfinished work again without watching for the reset yourself.
What it does
Usage-limit detection
Checks Claude CLI output for limit messages and extracts the resume time.
Countdown waiting
Shows a wait timer while the limit is still active.
Automatic resume
Runs a fresh Claude command or continues the last conversation after the wait.
Custom command execution
Runs shell commands like builds, servers, or scripts after the wait using `-e` or `--cmd`.
Cross-platform support
Includes Bash, PowerShell, and CMD entry points for Linux, macOS, and Windows.
Test mode
Provides `--test-mode` for simulating a limit during development and validation.
How to get it
- 1Run
wget -qO- https://raw.githubusercontent.com/terryso/claude-auto-resume/refs/heads/develop/claude-auto-resume.sh | sudo tee /usr/local/bin/claude-auto-resume >/dev/null && sudo chmod +x /usr/local/bin/claude-auto-resume
- 2Run
# Global installation sudo make install # Install to custom location sudo make install PREFIX=/opt/local # Uninstall sudo make uninstall
- 3Run
# Copy to system path sudo cp claude-auto-resume.sh /usr/local/bin/claude-auto-resume sudo chmod +x /usr/local/bin/claude-auto-resume # Or create symbolic link sudo ln -s $(pwd)/claude-auto-resume.sh /usr/local/bin/claude-auto-resume
- 4Run
# Make script executable chmod +x claude-auto-resume.sh # Run directly ./claude-auto-resume.sh
- 5These Windows steps are specific to this fork. Linux/macOS users should use the methods…
# From the repo root $dest = Join-Path $env:USERPROFILE "bin" New-Item -ItemType Directory -Force -Path $dest | Out-Null Copy-Item .\claude-auto-resume.ps1, .\claude-auto-resume.cmd $dest
- 6Ensure the destination folder is on your user PATH, then run
claude-auto-resume --help
README
Claude Auto-Resume
A shell script utility that automatically resumes Claude CLI tasks when usage limits are lifted, or executes custom shell commands after waiting periods. It detects Claude usage restrictions, waits intelligently, and resumes task execution automatically.
English | 中文
Claude/Codex 拼车服务
| 平台 | 类型 | 服务 | 扫码拼团 |
|---|---|---|---|
| ctok.ai | 🤝 合作伙伴 | ✅ Claude Code ✅ Codex CLI | ![]() |
⚠️ SECURITY WARNING
This script uses --dangerously-skip-permissions flag when executing Claude commands and can execute arbitrary shell commands, which means:
- Claude Code will execute tasks WITHOUT asking for permission
- Custom shell commands will execute WITHOUT user confirmation
- File operations, system commands, and code changes will run automatically
- Use ONLY in trusted environments and with trusted prompts/commands
- Review your prompt or command carefully before running this script
Recommended Usage:
- Use in isolated development environments
- Avoid on production systems or with sensitive data
- Be specific with your prompts to limit scope of actions
- Consider the potential impact of automated execution
Use Cases
This script is particularly useful when using Claude Code for development in the following scenarios:
- Task Interrupted by Usage Limits: When your Claude Code shows
Claude usage limit reached.but your task is not yet completely finished - Automatic Task Resumption: Simply run
claude-auto-resumein your project's root directory, and when the usage limit is lifted, the script will automatically let Claude Code continue executing your previously unfinished task - Custom Command Execution: Execute any shell command after waiting for usage limits, useful for restarting services, running builds, or processing data
Features
- 🔄 Automatically detects Claude CLI usage limits
- ⏰ Smart waiting with countdown display
- 🚀 Automatic task resumption
- 🔧 Custom command execution after wait periods
- 🛡️ Security warnings with cancellation options
- 🔗 Support for complex commands (pipes, redirections, operators)
- 🧪 Built-in test mode for development and validation
- 🖥️ Cross-platform support (Linux/macOS/Windows PowerShell)
- 📦 Zero external dependencies (only standard Unix tools required)
Installation
Linux/macOS installation steps are identical to the original upstream repository and are kept unchanged below.
method 1: using wget (Recommended)
wget -qO- https://raw.githubusercontent.com/terryso/claude-auto-resume/refs/heads/develop/claude-auto-resume.sh | sudo tee /usr/local/bin/claude-auto-resume >/dev/null && sudo chmod +x /usr/local/bin/claude-auto-resume
method 2: using Makefile
# Global installation
sudo make install
# Install to custom location
sudo make install PREFIX=/opt/local
# Uninstall
sudo make uninstall
method 3: Manual Installation
# Copy to system path
sudo cp claude-auto-resume.sh /usr/local/bin/claude-auto-resume
sudo chmod +x /usr/local/bin/claude-auto-resume
# Or create symbolic link
sudo ln -s $(pwd)/claude-auto-resume.sh /usr/local/bin/claude-auto-resume
method 4: Direct Usage (No Installation)
# Make script executable
chmod +x claude-auto-resume.sh
# Run directly
./claude-auto-resume.sh
Windows (PowerShell)
These Windows steps are specific to this fork. Linux/macOS users should use the methods above.
# From the repo root
$dest = Join-Path $env:USERPROFILE "bin"
New-Item -ItemType Directory -Force -Path $dest | Out-Null
Copy-Item .\claude-auto-resume.ps1, .\claude-auto-resume.cmd $dest
Ensure the destination folder is on your user PATH, then run:
claude-auto-resume --help
Notes:
- The
.cmdwrapper lets you runclaude-auto-resumedirectly from PowerShell or CMD. - The wrapper uses
pwshif available, otherwise falls back to Windows PowerShell.
Usage
Windows uses the same command-line options and flags as Linux/macOS.
Basic Usage
# Start new session with default prompt "continue"
claude-auto-resume
# Start new session with custom prompt
claude-auto-resume "implement user authentication"
# Start new session with custom prompt using flag
claude-auto-resume -p "write unit tests"
# Continue previous conversation with custom prompt
claude-auto-resume -c "please continue the previous task"
# Continue previous conversation with custom prompt using flag
claude-auto-resume -c -p "resume where we left off"
# Execute custom command after wait period
claude-auto-resume -e "npm run dev"
# Execute custom command with alias flag
claude-auto-resume --cmd "python app.py"
# Show help
claude-auto-resume --help
Local Usage (Before Installation)
# Ensure script is executable
chmod +x claude-auto-resume.sh
# Start new session with default prompt
./claude-auto-resume.sh
# Start new session with custom prompt
./claude-auto-resume.sh "create login page"
# Continue previous conversation
./claude-auto-resume.sh -c "continue with the implementation"
# Execute custom command after wait period
./claude-auto-resume.sh -e "make build"
How It Works
- Detect Limits: Execute
claude -p 'check'command - Parse Output: Look for
Claude AI usage limit reached|<timestamp>format messages - Calculate Wait Time: Calculate required wait time based on timestamp
- Display Countdown: Show real-time remaining wait time
- Auto Resume: Automatically execute either:
claude --dangerously-skip-permissions -p "<custom-prompt>"(new session, default)claude -c --dangerously-skip-permissions -p "<custom-prompt>"(continue conversation with -c flag)- Custom shell command with
-e/--executeor--cmdflags
Command Line Options
- No arguments: Start new session with default prompt "continue"
- Single argument: Start new session with custom prompt (e.g.,
claude-auto-resume "implement feature") - -p, --prompt: Specify custom prompt with flag (e.g.,
claude-auto-resume -p "write tests") - -c, --continue: Continue previous conversation (adds -c flag to claude command)
- -e, --execute: Execute custom shell command after wait period (e.g.,
claude-auto-resume -e "npm run dev") - --cmd: Alias for -e/--execute (e.g.,
claude-auto-resume --cmd "python app.py") - --test-mode: [DEV] Simulate usage limit with specified wait time in seconds
- -h, --help: Show help message and usage examples
- -v, --version: Show version information
- --check: Show system check information
Session Types
Start New Session (Default)
Uses claude without -c for fresh conversation:
claude-auto-resume # New session with "continue"
claude-auto-resume "new feature" # New session with custom prompt
claude-auto-resume -p "write tests" # New session with flag
Continue Previous Conversation
Uses claude -c to continue the last conversation:
claude-auto-resume -c "keep going" # Continue with custom prompt
claude-auto-resume -c -p "resume work" # Continue with flag
Execute Custom Commands
Execute any shell command after the wait period:
claude-auto-resume -e "npm run dev" # Start development server
claude-auto-resume --cmd "python app.py" # Run Python application
claude-auto-resume -e "make build && ./app" # Complex command with operators
claude-auto-resume -e "ls -la | grep '.js' | wc -l" # Pipeline commands
claude-auto-resume -e "echo 'Step 1'; echo 'Step 2'" # Multiple commands
Development and Testing
Use the built-in test mode for development and validation:
claude-auto-resume --test-mode 5 -e "echo 'Test command'" # Test with 5-second wait
claude-auto-resume --test-mode 10 --cmd "npm run test" # Test build process
Requirements
- Claude CLI: Must be installed and available in PATH
- Standard Unix Tools:
grep,date,sleep,awk(usually pre-installed) - Windows: PowerShell 5.1+ or PowerShell 7+ (when using the Windows script)
Security Considerations
Permission Bypass
This script uses --dangerously-skip-permissions to enable unattended operation. This means:
- No interactive prompts: Claude will not ask for confirmation before executing commands
- Automatic execution: File changes, system commands, and other operations run without user approval
- Trust requirement: You must trust both the script and the prompt you provide
Best Practices
- Environment isolation: Use only in development/testing environments
- Prompt review: Carefully craft prompts to limit scope (e.g., "continue implementing the login function in src/auth.js")
- Command review: Verify custom commands are safe and appropriate for your environment
- Backup your work: Ensure you have version control or backups before running
- Monitor execution: Check the output to understand what actions were taken
- Limit scope: Use specific prompts/commands rather than open-ended ones
Error Handling
The script includes comprehensive error handling:
- Exit Code 1: Claude CLI execution failed
- Exit Code 2: Unable to extract valid resume timestamp
- Exit Code 4: Resume command execution failed
Testing
# Syntax check
make test
# Or use bash directly
bash -n claude-auto-resume.sh
Project Structure
claude-auto-resume/
├── claude-auto-resume.sh # Main script
├── claude-auto-resume.ps1 # Windows PowerShell script
├── claude-auto-resume.cmd # Windows wrapper
├── Makefile # Installation/uninstallation script
├── docs/ # Project documentation
│ ├── architecture.md # Architecture documentation
│ ├── prd.md # Product requirements document
│ └── stories/ # User stories
├── CLAUDE.md # Claude Code guide
├── README.md # Project description (English)
└── README.zh.md # Project description (中文)
Roadmap
See our Development Roadmap for planned features and improvements, including:
- Phase 1: Core stability improvements (environment validation, error handling)
- Phase 2: Feature extensions (custom command execution, configuration options)
- Phase 3: User experience optimization (enhanced help, better time display)
Contributing
- Fork this repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Create a Pull Request
Before contributing new features, please check our roadmap to ensure alignment with project goals.
License
This project is licensed under the MIT License - see the LICENSE file for details
Credits
- Original project and Bash implementation by terryso: https://github.com/terryso/claude-auto-resume
- Windows PowerShell port and Windows installation notes added in this fork
Support
If you encounter issues or have suggestions:
- Check existing Issues
- Create a new Issue describing the problem
- Or submit a Pull Request
⭐ Star History
Note: This tool depends on Claude CLI output format. If Claude CLI updates change the output format, the script may need to be updated.
Files in the repo
- docs
- .gitignore
- claude-auto-resume.cmd
- claude-auto-resume.ps1
- claude-auto-resume.sh
- CLAUDE.md
- LICENSE
- Makefile
- README_zh.md
- README.md
- test_message_formats.sh
- test_message_parsing.sh
- test_unified_parser.sh
- test-simulate-limit.sh
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More tools
The best-benchmarked open-source AI memory system. And it's free.
Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.