Decision timeline
A project's code shows what was built. The decision timeline shows how it was steered: every point where a person set a goal, changed direction, interrupted, approved or denied an action, or answered a question, across all of the project's Claude sessions.
Opening it
Run Show Decisions from the command palette (alias dg). It opens a graph panel in its Decisions view, for the focused panel's project (the nearest enclosing git repository). Any graph panel can switch between Sessions and Decisions at its top right.
What counts as a decision
Decisions are extracted from the transcripts with a small set of rules:
| Kind | Rule |
|---|---|
| Goal | The first real prompt of a session. |
| Interrupt | Claude Code's "[Request interrupted" marker. |
| Redirect | The prompt after an interrupt, or a prompt that opens with words such as "actually", "instead" or "no,". |
| Answer | A prompt that follows a question from the assistant, or a reply to an AskUserQuestion tool call. |
| Plan approval | Accepting or rejecting a plan (ExitPlanMode). |
| Deny | A rejected tool call. |
| Follow-up | Any other prompt. |
A redirect or interrupt supersedes the decision before it, and the timeline shows that link. Each decision also lists the files edited and the commits made between it and the next decision in the same session. Resumed sessions repeat their history in a new transcript, so duplicates are removed and the original session's copy is kept.
Layout and keys
Time runs left to right, with one lane per session. Long idle gaps are compressed so a project that ran for a week still fits, but order in time is always kept. Key decisions keep a label; the rest show one on hover or focus.
| Key | Action |
|---|---|
| j / k | Next or previous decision in time |
| h / l | Nearest decision in the lane above or below |
| G | Latest decision |
| o | Open the conversation around the decision as a note |
| r | Resume the session from there |
Where the data comes from
If smaltid is running on the machine and answers within half a second, the timeline reads decisions from it. Otherwise Smalti reads the transcripts itself. The panel shows which source it used. Only the lines that can contain a decision are decoded, so long transcripts stay fast.