session-outline
A side pane for Claude Code that turns a long session into a table of contents, so you can jump to any prompt, answer heading or changed file instead of scrolling.
Designed and built by me.
- DesktopLive
Why I made it
A friend asked me whether there was a handy app for Claude Code, Anthropic’s AI coding assistant for the terminal, that shows the history as a list of headings instead of one long scroll. I couldn’t find one, so I built this plugin.
session-outline adds a side pane next to the chat. It lists every prompt, the headings of each answer, the files that changed and the turns that went wrong. Click a row, or press Enter, and the chat scrolls to that message.
What the pane looks like
3 prompts
h: ● Headings f: ● Files b: ○ Only ⭐ k: ○ Compact chat
i: By file p: Past sessions x: Export e: Expand all r: ↻
[/ filter: prompts, headings, files]
──────────────────────────────────────────
▸ 1. ✗ fix the build
▶▾ 2. ⭐ add documentation
· Installation
· Usage
✎ README.md, ~build.sh · ⚙ 12 · ⏱ 2m 10s
──────────────────────────────────────────
Turn 2: o: Expand/collapse s: ⭐ y: Copy answer a: Ask again… d: Diff
Features
- Outline of turns: prompt → answer headings → changed files, with the time and tokens of each turn.
- Jump to a message in the chat by clicking a row or pressing Enter.
- Diff of the selected turn’s changes, right in the pane.
- Markers:
⚠a tool returned an error,✗a test command failed,⏹the turn was interrupted,⭐bookmark. - By file: every changed file with the turns that touched it.
- Past sessions of the project, with search. Click one to copy
claude --resume <id>. - Compact chat: hides the tool-call rows.
ctrl+ostill shows everything. - Bookmarks, copy the answer, ask again, and export the whole outline as Markdown.
- Filter by prompts, headings and files.
- English and Russian interface. By default the pane follows Claude Code’s
languagesetting, then the language you write your prompts in, then$LANG. You can also set it in the plugin’s options in/plugin.
Install
The plugin installs from my GitHub repository, which works as its own plugin marketplace. At the prompt of a Claude Code terminal session:
/plugin install session-outline --marketplace gynsus/session-outline
Answer y to add the marketplace, then pick a scope (user scope is the usual choice).
From a shell:
claude plugin install session-outline --marketplace gynsus/session-outline
In the Claude Code desktop app: click + next to the prompt box → Plugins → Add marketplace with gynsus/session-outline → Add plugin.
The pane opens by itself in a wide terminal (fullscreen layout, about 110–144 columns and up). Otherwise run /outline.
Keys
The pane must have focus for the keys to work: click it, press ctrl+x tab, or run /outline.
| Key | What it does |
|---|---|
↑ ↓ |
Move between rows |
Enter / click |
Jump to that prompt or heading in the chat |
o |
Expand or collapse the selected turn |
s |
Bookmark the turn ⭐ |
y |
Copy the answer |
a |
Send the prompt again (press twice) |
d |
Show the diff |
h f b k |
Toggle headings, files, only bookmarked turns, compact chat |
i |
Files view |
p |
Past sessions |
x |
Export the outline as Markdown |
e |
Expand all |
r |
Refresh |
q |
Back |
Esc |
Return to the prompt |
Limitations
←and→do nothing in the pane: a plugin pane gets no keystrokes of its own.- After a restart, older messages are drawn only once you scroll to them, so the first jump to them goes in steps. If it stops, scroll up a bit and press Enter again.
- Rows are matched to messages by text, so two identical prompts can be swapped after a restart.
- Files changed by shell commands (
sed -i,>,mv, …) are a guess. They are marked~and have no diff. - Diffs have no real line numbers.
- Time and tokens are shown only for turns that finished while the plugin was loaded. Tokens include cache reads, so the numbers are large.
License and feedback
session-outline 0.1.0 is open source under the MIT License. The code is on GitHub. Bug reports and ideas are welcome in issues.
Details
- Platforms
- Desktop — live
- Role
- Designed and built by me.
- Category
- Developer tools
- Built with
- TypeScript
- Source
- Open source · Repository
More projects
All projectsKnoverge
A shared, self-hosted knowledge base for people and AI agents, with review and version history.
- WebIn development
Built with TypeScript · React · Node.js