Swivel keeps a long Claude Code session's main thread recallable when other threads intrude, and stashes in-flight state to disk.
Install
/plugin marketplace add ophiocus/swivel
/plugin install swivel@swivel
Since v0.1.0
Lanes live outside your code tree (v0.1.1). A .swivel/ directory in the working directory put session state in the user's repo, where it showed up in git status and got committed by accident — one workspace had seven lane files committed before anyone noticed. Lanes now sit beside that project's Claude Code memory, in ~/.claude/projects/<project-slug>/swivel/.
A compaction is a cache miss, so reload (v0.1.2). When the conversation is compacted, the transcript's detail is gone and the lanes on disk are the only full copy of the session's state. Swivel now reads INDEX.md and the active lane back before the next action, once per compaction, and restates the core in one line.
That second change comes straight out of the audit shipped with v0.1.0: across 20 real sessions there were 55 compactions and only 3 were followed by reading a lane back. See docs/AUDIT.md, and bench/swivel_usage.py to measure it on your own sessions.