[BUG] Mobile (Pixel 8 Pro): input typed while the agent is busy stays as an unconfirmed draft and is silently discarded when the app is backgrounded

Status Open
Maintainer reply None cached
Activity 10 comments · opened Jun 26, 2026

Preflight Checklist

  • [x] I have searched existing issues 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?

On the Claude Android app (Claude Code on the web sessions), a message typed while
the agent is busy is NOT committed. It stays in an editable / "unconfirmed draft"
state (tappable to re-edit), not shown as a confirmed/queued message. If the app
becomes inactive/backgrounded (screen lock or app switch) while in that state, the
draft is silently discarded. Nothing remains in the conversation transcript — there
is no record the input ever existed.

Environment:

  • Device: Google Pixel 8 Pro
  • Android version: 16
  • Claude Android app version: 1.260618.10 (26061810)
  • Client: Claude mobile app, Claude Code on the web sessions (claude.ai/code)
  • Agent running on Anthropic-managed cloud environment

Steps to reproduce:

  1. Start a session where the agent runs a long task (stays "busy" for a while).
  2. While the agent is busy, type a message in the Claude Android app.
  3. The input is not committed/sent — it stays editable (re-tappable draft).
  4. Background the app (lock screen / switch apps) before the agent replies.
  5. Return to the app: the typed input is gone, with no entry in the transcript.

Actual: the draft is silently discarded on backgrounding; instructions are lost with
no evidence in the conversation. The only way to avoid loss is to keep the app
foregrounded until the agent replies (which "confirms" the input).

Impact: silent loss of user instructions and loss of conversation evidence. High
impact for long-running tasks — exactly when queuing-while-busy is most needed.

Related issues:

  • #20431 (Queued/pending user input silently lost while agent is working — closed as

"not planned"/stale; this adds the mobile draft-discard-on-background path)

  • #61718 (Cowork queue: queued messages delivered but not actioned)
  • #51267 (Remote Control mobile: session silently hangs mid-execution)
  • #57497 (Regression: can no longer type/queue messages while agent is running)

What Should Happen?

Input typed while the agent is busy should be reliably committed and queued — shown
with a visible "queued" state, not an editable draft that can silently vanish. It
should survive the app being backgrounded (screen lock / app switch) and be delivered
to the agent on its next turn, with a record in the conversation transcript. The user
should never lose typed instructions just because the agent was busy or the app went
to the background.

Error Messages/Logs

None — and that is part of the bug. The failure is completely silent: no error
message, toast, or warning is shown when the typed input is dropped. The draft simply
disappears and leaves no entry in the conversation transcript, so there are no
client-side logs visible to the user to attach. (If maintainers can point to where
mobile app / session logs are captured, I can provide them.)

Steps to Reproduce

  1. Start a session where the agent runs a long task (it stays "busy" for a while).
  2. While the agent is busy, type a message in the Claude Android app.
  3. The input is not committed/sent — it stays editable (a re-tappable "draft"),

not shown as a confirmed or queued message.

  1. Background the app before the agent replies (lock the screen or switch apps).
  2. Reopen the app: the typed text is gone, and there is no entry for it in the

conversation transcript.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Android app 1.260618.10 (26061810) — Claude Code on the web session (no local CLI)

Platform

Anthropic API

Operating System

Other

Terminal/Shell

Other

Additional Information

This is a Claude Android app / Claude Code on the web bug, not a CLI bug. The
Operating System, Terminal/Shell, and Platform dropdowns above don't have a mobile
option, so "Other"/closest was selected.

Client details:

  • Device: Google Pixel 8 Pro
  • Android version: 16
  • Claude Android app version: 1.260618.10 (26061810)
  • Session type: Claude Code on the web (claude.ai/code), agent on Anthropic-managed cloud

Related issues: #20431 (closed not-planned/stale), #61718, #51267, #57497.

View original on GitHub ↗

11 Comments

Avkroken · 3 months ago

Ytterligare en reproduktion av samma mönster (annan plattform, inte bekräftat Pixel 8 Pro specifikt men samma beteende): om appfönstret tabbas bort/byts till ett annat aktivt fönster under för lång tid medan Claude arbetar, försvinner det inskrivna meddelandet helt — inte kvar som redigerbart utkast, bara borta. I kombination med det som beskrivs i #73118 (meddelanden tappas även vid busy-tillstånd utan backgrounding) verkar detta vara samma underliggande brist i hur klienten hanterar meddelanden som skickas medan agenten är upptagen, oavsett trigger (busy vs. backgrounding).

c1505 · 3 months ago

same issue. images work, but other message disappear if it is queued and my phone screen goes off or i switch to another app. doesn't seem like the app even closes.

jjmaestro · 2 months ago

+1, this bug completely defeats the purpose of "mobile steering" since it's forcing users to be glued to the screen waiting for the message to go through, or else, it's just deleted and gone.

jjmaestro · 2 months ago

Also: #63975, #65224, #65425 and probably many more...

rudi193-cmd · 2 months ago

Also hitting this on Samsung, so it isn't Pixel-specific.

  • Device: Samsung Galaxy A36 5G (SM-A366U), T-Mobile
  • OS: Android 16, One UI 8.5
  • Build: BP4A.251205.006.A366USQS8CZF1

I can confirm backgrounding is the trigger. Two things to add:

It only happens when subagents are outstanding. If the main agent is
just working in context, I can background the app and the draft
survives. If the main agent has dispatched subagents (Task tool) and
they're still running, backgrounding discards the draft. Same app, same
session, same action — the difference is whether subagents are in
flight. That suggests something specific to the subagent dispatch path
rather than general busy-state handling.

(Caveat: main-agent-only turns tend to be shorter for me, so I can't
fully rule out that this is really a duration threshold. But the split
has been consistent enough that I don't think it's just turn length.)

It's getting worse, and the workaround is gone. Originally the loss
was intermittent and restarting the app restored working input.
Restarting no longer recovers it. The native app is now unusable for
sending messages into affected sessions — I have to switch to claude.ai
in a browser, where input is delivered normally in the same session.

Worth noting #73118 (open, P0) describes the same failure on the VS Code
extension — queued input lost during long agent turns. These may share a
root cause rather than being client-specific.

terabyte · 2 months ago

Also reproducing this, in a configuration I don't think is covered yet: Remote Control driving a local Claude Code CLI session, rather than Claude Code on the web or an Anthropic-managed cloud environment.

  • Client: Claude Android app 1.260721.20
  • Device: Samsung Galaxy S24 Ultra (second Samsung report here, so definitely not Pixel-specific)
  • OS: Android 16, One UI 8.5, kernel 6.1.145
  • Host: claude CLI running locally on Debian 12, connected over Remote Control

Core behavior matches the original report. Typing while the agent is working produces a pending "about to happen" message rather than a committed one — tapping it returns the text to the input box for editing. It doesn't become real until the current turn returns, and it's discarded silently if I leave before then.

Three additions:

1. Backgrounding isn't the only trigger — switching sessions inside the app does it too. I usually have several concurrent Claude Code sessions open. Hitting back and opening a different session loses the pending message in the session I left, without the app ever being backgrounded. (This is what #77010 describes, but that one is filed against web/macOS; here it's Android + Remote Control.)

2. The pending message sometimes does land mid-turn. Not reliably at the end — occasionally it gets picked up partway through. I haven't instrumented this, but it seems to happen on turns involving tool calls, which would line up with #49373's description of the queue flushing at the next LLM pause rather than at true end of turn.

3. A workaround that survives it: copy the pending text, back out of the session, re-enter it, paste, and resubmit. That is noticeably more reliable than letting the queued message sit. Flagging it because it's different from the app-restart workaround mentioned above — restarting doesn't help me either, but re-entering the session does.

Since this reproduces against a local CLI host over Remote Control, as well as on web and (per #73118) in the VS Code extension, that seems to point at the client's handling of pending input rather than anything specific to the execution environment.

ZubikIT · 1 month ago

Confirming this on another account — same symptom, hit it repeatedly today during a long working session.

Reproduction matches the original report exactly: I send a message while the agent is still busy, it sits in the pending/unconfirmed state, I switch to another app, and on returning the message is gone. No trace in the transcript, and the agent never received it — from its side the message simply never existed.

Two things that make this worse in practice than it may look:

  1. Silent loss. There is no error, no retry affordance, nothing marked as failed. The user believes the instruction was delivered and the agent is ignoring it, which is exactly how it read on my end until I checked with the agent whether it had received anything.
  1. It bites hardest during long tasks. The failure requires the agent to be busy — which is precisely when a user is most likely to switch away and come back, and most likely to be sending follow-up corrections that matter (e.g. "stop, wrong target" / "don't touch prod").

Only workaround I have found is to wait for the pending indicator to clear before backgrounding the app, which defeats the point of being able to send follow-ups during a long run.

Environment: Claude mobile app (Claude Code session) on a POCO F5, Android.

Worth noting for triage: the original report is on a Pixel 8 Pro, this one is a Xiaomi/POCO device — so it does not look vendor- or ROM-specific.

jucor · 1 month ago

Another data point, on a different device and a different session type — the same
failure shows up over Remote Control to a local CLI host, not just cloud/web sessions.

  • Device: Samsung Galaxy S25, Android 16
  • Claude Android app: 1.260824.0 (26082400)
  • Host: Claude Code CLI 2.1.250, Ubuntu 24.04 (x86_64)
  • Mode: Remote Control from the phone → long-running local CLI session on a desktop

When the agent is actively thinking or executing a tool, a message sent from the Android
app does not reliably reach the run. It neither steers the current turn nor visibly queues
for the next safe point — it typically appears not to send until the agent finishes. The
CLI itself handles mid-run instructions fine, so this reads as a client/transport gap
rather than a model one.

Beyond the draft-discard-on-background path in the original report, the part that bites
me is that neither behaviour is specified or indicated. The client should support, and
say which of these it is doing:

  1. Immediate steering — the message is injected into the running turn, as the CLI does; or
  2. Reliable queued delivery — accepted, held, and applied at the next safe point

(between tool calls / at the next turn boundary).

Either is workable. What is not workable is silence: no sent/queued/delivered/applied
status, no queue position, and no message when steering is impossible in the current
session state. If the client cannot steer, saying so is far better than accepting the
text and leaving me to guess whether it landed.

Practical impact: the only dependable way to correct course from the phone is to interrupt
the agent, which can discard in-flight progress or derail a task that was otherwise on
track. That matters most precisely on mobile — I am on the phone because I am away from
the machine and cannot fall back to the local terminal to re-steer.

Also closely related: #85924 (queued composer text silently discarded on mobile), and
#81845 for the mirror-image direction (messages typed locally during a turn never syncing
out to connected devices).

karl-zylinski · 1 month ago

Happens for me too. Android. 100% repro rate. Any message sent to my Windows remote host is in a pending state while it is thinking. If I switch away from the session or lock the phone then it is gone. Makes the app much less useful since I can't queue things I found while it is doing anything else.

davotoula · 1 month ago

Same. Also happens after /clear and /context. Workaround is pressing stop a few times to get back attention

iffyb · 1 month ago

[Claude] Data point from a different surface: on Android in a Remote Control session, input typed while the agent is busy is committed to a visible queued message rather than left as an editable draft — so the queued-state part of the expected behavior here already exists somewhere in the app. It still gets lost, just on a different trigger: backgrounding preserves the queued message, and navigating away from the session inside the app drops it. Worth flagging because it suggests a queued state alone does not fix this. The queue has to be held by the session rather than by the screen displaying it. Remote Control side: #63975.