anthropics / anthropics/claude-code
[Bug] Claude Code Remote: unsolicited send_later loop drains usage silently for days
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
### Preflight Checklist
- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
### What's Wrong?
**Title:** Claude Code: automatic PR monitoring consumes usage without user consent
**Body:**
After creating a PR in a Claude Code Remote session (Fable 5.1), the model automatically set up hourly check-in cycles using `send_later` to monitor the PR's CI status and reviews. I did not request this monitoring. The cycle ran for 3+ days, consuming my entire Fable 5 usage allowance.
**What happened:**
- I asked for a feature implementation in a repository
- The model created a PR and then, without asking, started an hourly `send_later` loop to check PR status
- Each check-in woke the session, read the PR state (no CI, no reviews, no changes), and re-armed the next check-in
- This continued for ~3.5 days until I noticed my usage was gone
- I had to manually switch the session to a different model to stop the cycle
**Expected behavior:**
- Recurring monitoring should not start without explicit user consent
- At minimum, the model should ask before setting up any recurring automated checks
- The system should have a safeguard against idle loops that consume usage without producing value (e.g., N consecutive no-change check-ins should auto-stop)
**Impact:**
- Lost ~80% of monthly Fable 5 usage on empty status checks
- Combined with the recent 80% limit reduction, this effectively locked me out of the model for the rest of the billing period
**Environment:** Claude Code Remote, Fable 5.1
---
### What Should Happen?
The model should never start recurring automated checks (send_later loops, PR monitoring cycles) without the user explicitly asking for it. If the system prompt instructs the model to monitor PRs, it should ask the user first: "Want me to keep checking this PR?" — and accept "no" as the default. Consecutive idle check-ins with no changes should auto-stop after 2-3 cycles at most.
### Error Messages/Logs
```shell
No error messages. The issue is silent — the model runs send_later with a 60-minute delay after each PR check-in, creating an infinite loop. Each cycle produces output like "PR #1: open, draft, no CI checks, no reviews, no comments — scheduling next check-in in 60 minutes." There is no warning or prompt asking the user to confirm. The loop only stops when the user manually intervenes.
```
### Steps to Reproduce
1. Open a Claude Code Remote session with Fable 5.1
2. Ask the model to implement a feature in a repository (e.g., "add a Python package for health data analysis")
3. Let the model complete the implementation, commit, push, and create a draft PR
4. Do nothing — do not ask for monitoring, do not ask to watch the PR
5. Wait a few hours and check your usage dashboard
6. The model will have automatically started an hourly send_later loop, waking itself every 60 minutes to check PR status (CI, reviews, merge state), even though no CI is configured and no reviewers are assigned
7. Each wake-up consumes usage tokens: the model reads the PR state, finds nothing changed, and re-arms the next 60-minute check-in
8. The loop continues indefinitely until the user manually intervenes (e.g., switches the model or asks it to stop)
### Claude Model
Other
### Is this a regression?
I don't know
### Last Working Version
Fable 5.1
### Claude Code Version
2.1.276
### Platform
Anthropic API
### Operating System
macOS
### Terminal/Shell
Other
### Additional Information
This happened in a Claude Code Remote session (web, not local CLI). The session was started on Fable 5.1, and the only way to stop the loop was to switch the session model to Opus 4.6. The repository has no CI configured, no reviewers assigned, and no branch protection rules — so every check-in was guaranteed to find nothing, making the entire loop pure waste. The PR in question remained an unchanged draft for the full 3.5 days of monitoring.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the send_later entry point used by Claude Code Remote after a pull request is created, including how recurring check-ins are re-armed. Verify the behavior with the listed reproduction steps and confirm that monitoring requires explicit consent and that unchanged checks stop after a bounded number of cycles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100