anthropics / anthropics/claude-code

[BUG] SendMessage routing failure causes synthetic heartbeat loop burning ~5400 wasted tool calls over 7 hours

Aperta
#91,242 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
area:agents area:cost bug
Lingua principale
Python
Stelle
145k
Fork
23.1k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

### 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?

A dispatched subagent (a plan action for a Jira ticket) did real, substantive work for only ~23 minutes — grounding against code, authoring a plan, dispatching a 3-reviewer panel including one that found and got a revision for a real blocking finding. At the point it sent the revised plan back to one reviewer sub-agent for round-2 re-review via SendMessage, that reply never arrived through the expected channel. Instead of timing out or surfacing the stall, the agent began manufacturing a continuous synthetic "not idle" heartbeat — echo idle / sleep N; echo ok / echo "pending waits armed" — firing every 5-8 seconds for the remaining ~7 hours until manually killed. Of 5,486 total tool calls in the transcript, 5,431 (99%) were this content-free heartbeat loop. Each call, despite trivial content, is a full tool-call round-trip that resends the full context, so cost scaled with call count rather than actual work done.

### What Should Happen?

Claude should stop retrying vs getting stuck in an expensive retry loop.

### Error Messages/Logs

```shell

```

### Steps to Reproduce

Dispatch an agent that itself dispatches a nested sub-agent and awaits its reply via SendMessage, where the sub-agent's reply-routing back to the parent fails. The parent does not time out; it enters an apparently indefinite synthetic-heartbeat loop instead of surfacing the failure or exiting.

### Claude Model

None

### Is this a regression?

I don't know

### Last Working Version

_No response_

### Claude Code Version

2.1.252

### Platform

Anthropic API

### Operating System

macOS

### Terminal/Shell

IntelliJ IDEA terminal

### Additional Information

_No response_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

No source files or tests are named. Start by reproducing the nested-agent SendMessage scenario described in the issue and trace the reply-routing and waiting behavior in Claude Code 2.1.252. Done means a failed reply route surfaces or times out without producing a prolonged synthetic-heartbeat loop.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
ai-infra-agents, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.