[BUG] Teleported remote-control session unresumable: every message fails with 400 diagnostics.previous_message_id

Open 💬 0 comments Opened Jul 3, 2026 by pikuman83

Environment

  • Claude Code version: 2.1.198
  • Platform: win32 (Windows 11 Pro 10.0.26200), VS Code extension entrypoint
  • Model: claude-fable-5

Description

A remote-control session (started from the mobile app, bridged to a local Claude Code process) was teleported to the local machine. The teleported session opens and shows its history, but every message sent to it fails with:

API Error: 400 diagnostics.previous_message_id: must be the `id` from a prior /v1/messages response (starts with `msg_`)

The error reproduces on every retry, so the session is permanently unrecoverable in place (the transcript on disk remains readable).

Reproduction

  1. Start a remote-control session from the mobile app against a local Claude Code process.
  2. Session hits the account session limit mid-run (You've hit your session limit · resets ... appears as an assistant message in the transcript).
  3. Teleport the session to the local machine (transcript gets teleported-from + teleport-skipped-branch meta entries; timestamps rewritten to teleport time).
  4. Resume the teleported session locally and send any message → 400 above, every time.

Notes

  • The teleported transcript's tail includes the synthetic "session limit" assistant message, which has no real msg_ id — presumably that is what gets sent as diagnostics.previous_message_id.
  • Looks like the same class as closed issues #58427 and #59520 (synthetic assistant tail → invalid previous_message_id), but reproduced via the remote-control + session-limit + teleport path on 2.1.198.

Expected

Resuming a teleported session should skip/repair synthetic tail messages instead of sending an invalid previous_message_id, or at minimum offer a way to recover the session.

View original on GitHub ↗