Desktop app (Windows): the worktree-lost notice is rendered inside the last assistant message and replaces its timestamp

Status Open
Reported on v2.1.284
Maintainer reply None cached
Activity 0 comments · opened Oct 1, 2026

Environment

  • Claude desktop app 2.16120.0 (Windows MSIX, Code tab), bundled Claude Code 2.1.284
  • Windows 11 Home 10.0.26200
  • Session id 8bbf539a-c20a-4d94-a86f-01245ccd2a4a (project D:\Repos\PlayServ\playserv-platform)

What happened

  1. A session ran in a worktree (.claude/worktrees/backend-game-server-demo-22ec5a) on 2026-09-24. The last assistant message of that day was sent at 19:56 local time.
  2. The worktree was removed later (cleanup). On 2026-10-01 at 13:40 the session was reopened in the Code tab.
  3. The app produced the recovery notice:

> This session's old worktree was removed and couldn't be re-created, so it now runs in the main repository at D:\Repos\PlayServ\playserv-platform without a worktree of its own. Uncommitted files from the old worktree weren't carried over, and its branch claude/backend-game-server-demo-22ec5a may no longer exist.

Observed: the notice is rendered inside the card of the last assistant message, directly under its content: same card, no separator, no "system" or "app" marker. The card's footer timestamp ("5 hours ago", tooltip Oct 1, 2026, 1:40 PM) now shows the time of the notice, not the time of the assistant message (Sep 24, 19:56). Assistant messages carry no other visible timestamp, so the only date the UI offers for that message is wrong by a week.

The notice is not written to the session transcript (~/.claude/projects/<project>/<session>.jsonl), so there is no in-app way to recover the original time; it had to be read from the timestamp fields of the .jsonl by hand.

Expected

  • App/system notices are their own card, visibly marked as coming from the app, with their own timestamp.
  • The assistant message keeps its own timestamp; the notice never overrides it.
  • Ideally every message exposes its absolute time on hover, not only system cards.

Related

#94045 covers the recovery flow itself (the session being dropped into the main repo). This report is only about how that flow's notice is rendered in the transcript view.

View original on GitHub ↗