Context & memory·terminal·MIT
cs-rotate
A rotate button above the prompt once context passes 40%. Needs the cs session manager.

cs-rotate puts a 1: rotate this conversation button above the Claude Code prompt once the context window passes 40%. Pressing it, or the 1 key, fills the composer with /rotate so you add a purpose line and send it yourself. It ships with cs, a session manager for Claude Code that gives each task a persistent, self-documenting workspace and lets a heavy conversation hand off to a fresh one. Outside a cs session it draws nothing.
The /rotate command runs the cs rotate skill: it writes a handoff with the parent conversation id, the purpose and a continuation plan to .cs/handoffs/, and /clear then starts a fresh conversation from that handoff without loading the old transcript. cs already nudges you to rotate at 65% context. The button appears earlier so you pick the moment.
Install
Needs function hooks enabled and cs, which runs on macOS and Linux (Windows only inside WSL2). The author does not state a minimum Claude Code version.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hex/claude-sessions/main/install.sh)"
The installer deploys the mod to ~/.claude/ together with the cs hooks and skills. There is no marketplace and nothing to install separately. Launch a session with cs <name> and the button is armed. CS_NO_FUNCTION_HOOKS=1 launches without it, and CS_ROTATE_BUTTON_CTX=60 moves the threshold to 60%.
How it works
The module hooks session.start and ui.render. On each render of the band above the prompt it reads the context percentage from the engine’s session usage and appends the button past the threshold, unless a turn is running or a survey owns the band. It also checks that the session id matches the claude_session_id recorded in .cs/local/state, so only the conversation cs launched gets the button, not a second Claude opened in the same folder. When the plugin loads it writes a timestamp to .cs/local/cs-rotate.heartbeat, which cs -doctor reads to report whether the mod ran. No network calls and no tokens: the button fills the prompt and never submits it.
Limitations
- Nothing appears without cs: the mod needs a
.cs/localdirectory in the working directory, and.cs/local/disabledopts that directory out. - Terminal only. cs does not support native Windows or Git Bash.
More mods
The whole directory →commonplace
Your notes as a wiki Claude maintains: ingest papers, ask questions, keep it healthy.
claude --plugin-dir /path/to/commonplacekindex-modern
Task tools backed by a Kindex store in your repo, plus repo memory on every prompt.
kin setup-hooks --mode modernlcm
Every message kept in SQLite, old context compacted into summaries Claude can expand.
lcm installsegmem
Long-term memory by kind and scope in one SQLite file. Wake at start, recall per prompt.
claude plugin install segmem@segmem