If Claude Code keeps hitting 429s on the same account instead of rotating to a fresh one, the proxy is not in the request path. Three things to check, in order.
1. Emergency-off sentinel
Power Claude ships a kill switch. If ~/.power-claude/state/emergency-off exists, every entry point — the bash environment loader, the pc CLI, and the VS Code command — refuses to start the proxy. This is intentional and prevents the proxy from doing anything during incident response.
ls -la ~/.power-claude/state/emergency-off 2>/dev/null && \
echo "Emergency-off is ACTIVE. Remove the file to re-enable Power Claude." || \
echo "Emergency-off not set."
To clear it: rm ~/.power-claude/state/emergency-off and restart your terminal.
2. The proxy isn't in your environment
Power Claude is opt-in per shell. Your ANTHROPIC_BASE_URL must point at the local proxy (default http://localhost:3456). If it doesn't, requests go straight to Anthropic and rotation never happens.
env | grep ANTHROPIC_BASE_URL
If the variable is empty or points elsewhere, source the activation script in your shell rc:
export POWER_CLAUDE_PROXY=1
source ~/.power-claude/bin/activate
We deliberately do not set ANTHROPIC_BASE_URL globally — that route turned out to break unrelated tools that talk to the API directly.
3. The watchdog is dead
The proxy is supervised by a user-mode systemd unit, claude-watchdog.service. If the watchdog crashes, the proxy can also die — and your client then gets connection-refused errors that look identical to "Anthropic is down."
systemctl --user status claude-watchdog.service
If it reports inactive (dead) or failed, restart it:
systemctl --user restart claude-watchdog.service
journalctl --user -u claude-watchdog.service -n 50
A common cause of watchdog death is a stale PID file from a hard kill. The unit's ExecStartPre clears it, but only on restart — systemctl --user reset-failed claude-watchdog.service if the unit refuses to come back.
What you'll see when it's working
$ pc status --json | jq '{proxy_running, active_account, rotation_count_today}'
{
"proxy_running": true,
"active_account": "This email address is being protected from spambots. You need JavaScript enabled to view it. ",
"rotation_count_today": 7
}
If proxy_running is true but rotations are stuck at zero, see Rate limits aren't resetting on time — the proxy is up but every account is held back.