anthropics / anthropics/claude-code

[Bug] Claude Code Remote: unsolicited send_later loop drains usage silently for days

Open
#95,305 1 comment 0 reactions 0 assignees View on GitHub
area:cost area:routines bug platform:web
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.