Never hit token limits again 🔥
Run AI CLI tools all night with automatic token rotation. Zero config.
export ANTHROPIC_API_KEY=sk-ant-...
ddollar claude --continue
# Go to bed. Wake up to finished task.- 🔁 Monitors rate limits every 60 seconds
- 🌙 Auto-rotates tokens when >95% used
- ⚡ Gracefully restarts with
--continue - 💤 Run agents all night, zero babysitting
Supported: OpenAI · Anthropic · Cohere · Google AI
# Set tokens
export ANTHROPIC_API_KEY=sk-ant-...
export ANTHROPIC_API_KEY_2=sk-ant-...
# Run any CLI tool with auto rotation
ddollar claude --continue
# Interactive mode (prompts on limit hit)
ddollar --interactive python long_script.pyWhat happens:
6pm: Start with token 1
2am: 95% of token 1 used → rotate to token 2 → restart
4am: 95% of token 2 used → rotate to token 3 → restart
8am: Task done 🎉
macOS/Linux:
curl -LO https://github.com/ahoward/ddollar/releases/latest/download/ddollar-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)
chmod +x ddollar-*
sudo mv ddollar-* /usr/local/bin/ddollarBuild from source:
git clone https://github.com/ahoward/ddollar.git
cd ddollar
go build -o ddollar ./src# Run any long-running CLI
ddollar claude --continue
ddollar python train_model.py
ddollar node agent.js
# Interactive mode (get prompted on limit hit)
ddollar --interactive claude --continueMultiple tokens (3 ways):
# 1. Comma-separated
export ANTHROPIC_API_KEY=sk-ant-primary...
export ANTHROPIC_API_KEYS=sk-ant-1...,sk-ant-2...,sk-ant-3...
# 2. File with one token per line
echo "sk-ant-1..." > ~/.ddollar-keys
echo "sk-ant-2..." >> ~/.ddollar-keys
export ANTHROPIC_API_KEYS_FILE=~/.ddollar-keys
# 3. Mix and match (all get deduplicated)
export ANTHROPIC_API_KEY=sk-ant-primary...
export ANTHROPIC_API_KEYS=sk-ant-1...,sk-ant-2...
export ANTHROPIC_API_KEYS_FILE=~/.ddollar-keys
ddollar claude --continue
# Rotates through ALL discovered tokens- Spawns your command with token in ENV
- Makes 1-token API call every 60s to check rate limits
- When >95% used → SIGTERM subprocess → rotate token → restart
- Your tool's
--continueflag picks up where it left off
KISS: No proxy, no DNS, no config. Just process supervision + token rotation.
Use ddollar with Tor to anonymize your API requests:
# Install Tor
sudo apt-get install tor # Linux
brew install tor # macOS
# Start Tor daemon
sudo systemctl start tor # Linux
brew services start tor # macOS
# Run through Tor
torify ddollar claude --continueBenefits:
- 🔒 Hide your IP from AI providers
- 🔄 New IP with each token rotation
- 🌍 Geographic diversity (different exit nodes)
- 🛡️ Multi-account isolation
Advanced usage:
# Multiple tokens + Tor = new IP per rotation
export ANTHROPIC_API_KEYS=key1,key2,key3
torify ddollar claude --continue
# Verify Tor is working
torify curl -s https://api.ipify.orgSee docs/TOR_INTEGRATION.md for:
- Per-token Tor circuits
- Auto-renewing circuits on rotation
- Country-specific exit nodes
- Performance optimization
- Security considerations
- "No tokens found" → Set
ANTHROPIC_API_KEY(etc) in shell - Process won't rotate → Tool must support
--continueflag - Limit hit before rotation → Tokens hitting limits faster than 60s check interval
✅ macOS (Intel + Apple Silicon) ✅ Linux (x86_64 + ARM64) ✅ Windows (x86_64)
Single binary. No dependencies. No runtime.
PRs welcome. Issues welcome. GitHub
max out those tokens 💸🔥
an #n5 joint 🚬