Scrolling a terminal back to find what I’d asked for is a small, constant tax. The card now shows the last agent prompt in a strip above the terminal — extractLastUserMessage pulls it out of the transcript as the daemon reconciles status, and SessionLastMessage renders it truncated, expanding on hover or click with useDismissablePin so it stays open while I read it and gets out of the way afterwards.

The diff tree’s revert grew up: folders can be reverted as a unit, and the tree header has a revert-all. revertDiffPaths takes the set of paths and does it in one call, so reverting a directory isn’t a loop of single-file requests that can half-fail.

PR chain toggles are now remembered per session via loadPersistedPrChain — I nearly always want the same chain for a given piece of work, and re-picking it on every preview was pure friction.

The one real bug fix was worktree allocation. Two clones of the same repo at different paths could resolve to the same tree identity, so canonicalTreePath now normalises the path before it’s used as a key, and there are tests for the collision case that started this.