anthropics / anthropics/claude-code
[FEATURE] Debounce consecutive short messages into one turn (chat-style input in claude.ai/code and mobile)
- Lenguaje dominante
- Python
- Estrellas
- 145k
- Forks
- 23.1k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
### Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
### Problem Statement
People who chat from a phone write the way they do on WhatsApp: one thought split across several short bubbles sent a few seconds apart. Claude Code treats every bubble as a complete turn and starts a full reply to each one. A fragment like "stay here and" gets answered on its own, the next fragment "tell me as it goes" gets a second, unrelated answer, and the conversation derails. It also burns a full model run on every fragment, so it is both worse and more expensive than waiting.
Related but distinct from #92482 (quote-reply): that one is about pointing at an earlier message; this one is about how consecutive new messages are grouped.
### Proposed Solution
A short input debounce in claude.ai/code and the mobile app (and optionally in Remote Control sessions generally):
- when a new message arrives within a small window after the previous one (for example 2 to 3 seconds, configurable), hold the turn and merge the messages into one user turn, in order;
- if the composer shows the user is still typing, keep holding until they stop or until a hard cap (for example 10 seconds) is reached;
- render the merged bubbles as they were sent, but pass them to the model as one turn;
- a per-session setting to turn it off for users who want strict one-message-one-reply behavior.
The existing behavior in Remote Control (prompts sent mid-turn are queued and delivered together) already does something close to this when a reply is in flight; the request is to apply the same grouping before a reply starts.
### Alternative Solutions
- Writing the whole thought in one bubble (works, but it is not how people type on a phone).
- Teaching the model to treat a short follow-up as a continuation of the previous message (helps, but it cannot recover once a separate reply has already been generated).
- Every mainstream chat client (WhatsApp, Telegram, Slack) lets the recipient answer a burst of messages as one unit; here the recipient is forced to answer each bubble.
### Priority
Medium - Would be very helpful
### Feature Category
Other (claude.ai/code web client and mobile app; Remote Control)
### Use Case Example
1. Long session on the desktop app, continued from the phone through Remote Control.
2. I type "ok, I think I get it, let's see how it goes" and send, then two seconds later "stay here and tell me as we go".
3. Today: the first bubble gets a closing reply, the second gets "what do you want me to tell you?", because it was read as a new request.
4. With a debounce: both bubbles reach the model as one turn and get one answer that reads them together.
### Additional Context
Claude Code 2.1.241, desktop app (Code tab) plus Remote Control from the mobile app. Observed repeatedly in a conversational (non-coding) session, where fragmented input is the norm.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Start by tracing message delivery in claude.ai/code, the mobile app, and Remote Control, focusing on pre-reply grouping and the existing mid-turn queueing behavior. Confirm how debounce timing, typing detection, a hard cap, merged model turns, preserved bubble rendering, and a per-session opt-out would fit; done means consecutive messages receive one reply without changing their displayed bubbles.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Área
- backend, frontend, mobile
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100