Repository navigation
Beta. brainstorm works end to end and this build was tested against a real claude, but interfaces, file formats and behaviour can still change.
brainstorm shows you exactly what Claude Code sends to the model, lets you edit it, and resumes claude on the edited session in the same terminal.
Download
brainstorm.exe: Windows 10/11 x64, one file, nothing to install. You need Claude Code installed (claude on your PATH). The window is a Microsoft Edge app window.
The exe is not code-signed yet, so Windows SmartScreen may say "Windows protected your PC". Click More info, then Run anyway. To check your download:
certutil -hashfile brainstorm.exe SHA256
SHA256 dc3aba374f2bf2d5ddde1bc75b289c37b05e8d8db7b3376150e9544045c406f3
From source (Node 22+): node bin/app.mjs. Windows is the only platform tested so far.
What's in it
- Context editor: every block of the context, grouped; edit, drop or pin it. Blocks claude is no longer sent (rewound branches, everything before a
/compact) are filed apart under Not sent. - Main context: facts that survive every rewind, put back into the first message claude is sent on every build.
- Live, from inside claude: each request as it streams (waiting for the API, thinking, writing), each tool call before it runs, the cache read / written / new, and every
/compact. Click any earlier request to see its timing and cache details. - Recording: the calls claude makes from now on; every block has a pen that opens it in the editor.
- Save & Resume: build, verify, install, and restart claude in the same window. The build refuses what the API would refuse (an empty message, a tool result without its call).
- Agents: subagents and forks, and who read what.
Only the live view, in any claude
The live hooks are also a Claude Code plugin of their own:
/plugin install brainstorm-live --marketplace buggerlogger/brainstorm
With the app open, any claude session streams into its Live panel.
Found while building it (measured on the real API)
- Clearing a compaction summary breaks the session:
400 messages.0: user messages must have non-empty content. Dropping it works, so brainstorm drops it. - On one real session, 37 of 360 messages were never sent to the model.
/compactmakes its own model request, outside the normal request hooks: 47,741 -> 15,602 tokens in 35 s.- Claude Code asks the API to leave the thinking text out (
"display": "omitted"): you can see when it thinks and for how long, not the words.
Bugs and ideas: open an issue. Contributing: CONTRIBUTING.md.