08When a change goes wrong

Go back to any
point in the work.

Every session keeps its full history, subagent transcripts included, in compact local storage. Revert the conversation, the files, or both from a message, and preview the file changes first.

Caudra with the prompt that led to the fix at the top of the transcript: Fix the final-page cursor bug in src/pagination.ts and add a regression test for it to src/pagination.test.ts. Make both edits yourself without a task, then run make check. The status row reads File revert: 0 created, 2 replaced, 0 deleted. Repeat to confirm.

Terminal recording · Revert files from a messageA real session in which the agent fixed the bug and added a test. The first Revert files only counts the two files it would replace. The second applies it, and git diff --stat prints nothing. Unrevert puts both files back, and git diff --stat lists them again.Open in the gallery
The Sessions picker. The fork, Explaining final-page cursor bug in src/pagination.ts (fork #1), is current. The original session is listed under main in /tmp/caudra-fork/orders. The status bar shows the worktree path /tmp/caudra-demo-worktrees/orders/try-null-cursor and the notice This session moved into worktree try-null-cursor.

Terminal recording · Fork a session into a worktreeA real session in the demo project. The agent explains the final-page bug without changing files. The message menu of the reply offers Fork here, which copies the conversation into a new session without a model request. /worktree new try-null-cursor moves the fork into its own checkout and branch, and /sessions shows the fork in the worktree and the original in the main checkout.Open in the gallery
  • Search every past session

    /search finds your words in this chat, in the past sessions of this project, or in every project, previews each match with the items around it, and opens the session at that point. The model can search the same history from a code snippet to find an earlier decision or a command that worked.

  • Revert with a preview

    Each tool call that may change files is recorded before and after it runs, so a revert touches only those files. The first Revert files shows what would change, and repeating it applies the revert.

  • The model behind each message

    The ⋮ message menu names the model and thinking level that wrote each reply or tool call, and the transcript marks the place where either changed.

  • Images stored once

    Pasted images, images that tools return, and fetched PDFs are saved once beside the session database, however many sessions, forks, and tasks refer to them. A resumed session keeps its PDFs, and caudra storage check finds a missing or damaged file.

  • Fork and branch out

    Fork from a message to try another approach. /worktree new moves a session into a fresh Git worktree with its conversation and plan.

File revert cannot undo external side effects such as running processes, databases, network calls, or Git branch state.

Sessions and revert