Skip to content

Recap

At the daily you have to remember what you did yesterday across every project, workspace and agent, and during the day you lose track of which agent still works, which one asked you something and what you asked each of them. The Recap panel sums it up. An agent reads what your agents did and writes it, and every conversation it names is a link to the pane or workspace it belongs to.

search projects, workspa…1use serde::Deserialize;Recapnow·yesterday·7 days↻×2tue 10 nov 19:03·Claude Code·3 conver…Projects3#[derive(Debug, Deserialize)]4pub struct Address {Needsyou▾work5pub lines: Vec<String>,▸orders-api›fix/pagination›claude:web-shop(3)6pub city: String,waits for an answerorders-api(2)!7pub postcode: String,8}Inprogress▾◆personal9▸web-shop›feat/dark-mode›claude:blog(1)10impl Address {working since tue 10 nov 19:03dotfiles(1)11pub fn first_line(&self) -> &str {▸web-shop›feat/gift-cards›codex:12self.lines.first().unwrap()working since tue 10 nov 19:03+ New13}14}Workspaces~~▾main↓2~▸nvim~›bash~+ Tab~~▾feat/dark-mode+4−0~◐claude~Opus 5.5·7%~+ Tab~~▾feat/gift-cards~◐codex~gpt-5.4·20%~+ Tab~~+ New~~IssuesChanges~FilesTODO~WorktreesRecap~src/returns/address.rs 11,1 AllMore▴Help
The Recap panel on now: what needs you comes first.

It covers agent conversations only, in every project of this server. Work you did by hand in a shell, and git activity no agent was part of, is not in it.

  • Click Recap at the bottom of the projects column, beside Worktrees, since it belongs to no project. In the compact layout it sits in the projects menu’s band with Worktrees and Help.
  • With the icon bar, click the icon right after Worktrees’.
  • Press the prefix key and then s.

It is a side panel in the column the changes, files, TODO and Flow panels share, so opening one closes the others. It stays open while you click from one line of work to the next. × or Esc closes it. It is not restored after a restart: it reopens with one click, and its results are kept.

Click the choice in the header; the panel keeps the last one you used.

  • now: where things stand, in three short sections. Needs you holds what is open and waits on you: an agent waiting on a question, one that failed or that you marked for review, and an open pull request whose checks fail. cornercase picks those items from what is open, and the agent words them. In progress has one line per workspace, and Done today one line per workspace or pull request. A workspace you closed never shows in Needs you; work closed while an agent was still on it gets one line at the end, Closed halfway. An empty section is left out.
  • yesterday: a stand-up of a dozen lines at most, one per workspace: Done, In progress and On you. “Yesterday” is the last day with agent activity, with its real date (yesterday · fri 31 oct), so on Monday it gives Friday, and after a holiday it still works.
  • 7 days: per project, two or three themes, its merged pull requests and what is still open.

The recap says what you asked in a few words of its own, and quotes a prompt only when a few words say it best.

Every place the text names, project › workspace › tab, is a link: it takes you to the conversation’s pane if it is still open, else to its workspace, else to its project. A closed one says so in a message. A pull request, #212, opens the workspace’s pull request dialog.

The line under the header says the date, the agent, the number of conversations, the tokens it used and its age. While the agent works, it says reading your conversations… and the previous result stays visible. When it fails (the agent is missing, signed out or out of limit), the line says why, with retry. ↻ writes it again.

  • A journal of conversations, kept 30 days next to session.json (the journal/ folder, see Files and environment). cornercase adds an entry when a conversation is first seen in a pane, when you send a prompt, when its status changes (working, waiting, done) and when its pane closes. An entry holds pointers, not content: the time, agent, account, conversation, the path of the agent’s own transcript, and the project, workspace (name, branch, folder) and tab as they were then, with the workspace’s pull request and its checks. Transcripts stay on disk after a pane closes; what the journal keeps is which workspace they belonged to, which is lost once a worktree is gone. All eight agents are journaled. Conversations from before you updated are not in it.
  • A dossier, built without a model: for now, it starts with the list of what needs you, taken from what is open; then per conversation, its place, branch, agent, first and last activity, its status now (or when it closed), the pull request and its checks, your prompts in the range (the newest few, trimmed short, without yes, go on, slash commands or huge pastes), its last reply and, while it waits, the question it asked. It has caps per conversation and in total, so 7 days fits a model’s context. cornercase recap --dossier prints it.
  • An agent, Claude Code or Codex, started in the background without a pane, in a folder of its own (recap/) and never in a project. It reads the dossier and, when that is not enough, the transcripts and cornercase search; its tools are read-only, and cornercase writes the result. It is not counted in Stats.

Each choice keeps its last result, shown with its age. yesterday is written once, since that day does not change. 7 days is written again when the day changes, and now when it is more than 30 minutes old when you open it. ↻ writes any of them again.

now is also written again sooner when it no longer matches what is open: something it says needs you no longer does (you answered it, or its workspace closed), a conversation it names has closed, or something needs you that it does not name. Until the new one is in, the links that changed are struck through, and while it is not being written the line under the header starts with outdated. While the panel stays open it only marks them, since every run spends tokens: click now or ↻. A recap written by an older version is written again the first time you open it. A second click while one runs only shows the progress. With nothing to sum up, no agent runs, and the panel says why.

Settings → Agents → Recap:

Row Default
recap agent the default agent if it can write a recap, else Claude Code
recap account that agent’s default account
recap model the agent’s default
recap effort low
recap language auto: the language your prompts are in; or any language name
recap instructions empty; added to the prompt, such as group by client

They are the recap_* keys of config.json. All but the account are part of the settings you share.

cornercase recap now|yesterday|week prints the recap, waiting for the agent when it is not cached, and --json gives the text with the place each id stands for. cornercase status --json names the conversation each pane’s agent is in, so a program can follow those places as the panel does. See Scripts and agents.