[BUG] Desktop shows "no messages yet" for SSH/remote sessions on reopen (transcript intact on remote host, context preserved)
Summary
When Claude Code Desktop connects to a remote host over SSH, closing and reopening the app shows "no messages yet" for those remote sessions — the message list renders empty. However, the conversation context is fully intact: asking the model to "summarize this conversation" returns the entire prior discussion. The transcript .jsonl on the remote host is complete and uncorrupted.
So this is a client-side hydration bug specific to remote/SSH sessions: the Desktop UI on the Mac does not load/render the remote host's transcript message list on reopen, even though the remote backend reads it correctly (hence preserved context).
Local (Mac-directory) sessions are unaffected — their history displays normally on reopen.
Environment
- Desktop app (macOS): Claude 1.19367.0 (1a5be1), 2026-07-07
- Remote host: Raspberry Pi 5, Ubuntu 24.04.4 LTS, aarch64, Linux 6.8.0-1060-raspi
- Remote backend (from session env):
CLAUDE_CODE_ENTRYPOINT=claude-desktop,CLAUDE_CODE_EXECPATH=/home/<user>/.claude/remote/ccd-cli/2.1.202,CLAUDE_SSH_DAEMON_CHILD=1
Steps to reproduce
- From Claude Code Desktop (macOS), connect to a Linux host over SSH and hold a normal multi-turn conversation.
- Fully quit the Desktop app on the Mac and reopen it.
- Open the remote (SSH) conversation.
Expected
The full message history renders in the UI (as it does for local Mac-directory sessions).
Actual
- The message list shows "no messages yet" (empty).
- Context is not lost: "summarize this conversation" returns the complete prior discussion.
- The transcript on the remote host is complete and well-formed.
Evidence (data is intact on the remote host)
The remote .jsonl for one such session holds the full history, yet the Desktop UI showed it as empty on reopen:
$ f=~/.claude/projects/-home-<user>-Documents-MAC/f213b833-....jsonl
$ grep -c '"type":"user"' $f -> 128
$ grep -c '"type":"assistant"' $f -> 230
$ wc -l < $f -> 571
# roles are present and ordered from the start of the file (user, attachments, user, ...)
128 user + 230 assistant messages present on the remote host, but the Mac UI rendered "no messages yet" — while the backend clearly still reads the same file (context preserved). This rules out transcript corruption and points to the Desktop client not fetching/rendering the remote transcript on reopen.
Not a duplicate of #24304
#24304 ("Conversation history missing on resume (except last message)") is caused by JSONL corruption (colliding messageId/uuid, broken parent chain), affects local sessions too, and shows the last message. This report is different: the JSONL is uncorrupted, it is specific to remote/SSH sessions, local sessions are fine, and the UI shows zero messages ("no messages yet"), not the last one.
Likely same area as #76114
#76114 reports that Desktop remote (SSH) sessions never create file-history snapshots on the remote host, breaking rewind. Both look like the same underlying gap: the Desktop client fails to sync/hydrate remote-host session state back to the Mac UI — there it's the file-history snapshots, here it's the transcript message list.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗