iOS/iPadOS app: assistant text in ScheduleWakeup-driven loop turns is hidden (collapsed into 'Ran a command, used a tool') — visible on desktop web + CLI

Open 💬 0 comments Opened Jul 3, 2026 by jacov

Environment

  • Claude Code CLI (remote-control session, --remote-control), model claude-fable-5
  • Viewer: Claude app on iPadOS (latest, July 2026) — bug reproduces on iPhone/iPad; does NOT reproduce on desktop browser (claude.ai) or the Linux CLI transcript

Summary

In a long-running autonomous session driven by /loop + ScheduleWakeup, each wakeup-fired turn follows the pattern: Bash tool call(s) → short assistant text status update → ScheduleWakeup tool call (turn ends when ScheduleWakeup returns, so the text comes before the final tool call).

On the iPad app, most of these turns render as a single collapsed row — "Ran a command, used a tool ›" — with the assistant's text status update completely hidden. The same turns show the text normally on desktop browser and in the CLI. Occasionally a turn DOES render its text (appears related to how tool_use blocks group around the text block), so the collapsing heuristic seems to fold short text segments that sit between tool calls into the tool-group summary.

Impact

Operators monitoring an autonomous loop from mobile see a wall of "Ran a command, used a tool" with zero status information, and believe the agent is producing no output ("the loop output is not visible on iPad — only in desktop browser or linux shell"). For monitoring/ops use-cases (the main reason to check from a phone), this makes remote-control loops unusable on mobile.

Repro

  1. Start a remote-control session; give it a /loop task with no interval (dynamic mode).
  2. Each tick: agent runs a Bash tool, writes a 1-3 sentence status, then calls ScheduleWakeup as the last action.
  3. View the session in the iOS/iPadOS app: most ticks collapse to "Ran a command, used a tool ›" with the text invisible; expanding the row shows tool I/O but the narration is not surfaced as message text.
  4. View the same session on desktop web: text renders on every tick.

Expected

Assistant text blocks should always render as message text on mobile, even when sandwiched between tool_use blocks in a turn that ends with a tool call (which is structurally required for ScheduleWakeup loops).

Workaround in use

Routing anything important through PushNotification, and making tick text longer/bolder standalone paragraphs (partially effective).

(Note: the body of this issue was briefly blanked by an errant edit shortly after filing — this is the restored original text. Filed on behalf of an operator running production monitoring loops; screenshot available on request.)

View original on GitHub ↗