Session-pilotby Thinkelution

Keep your long Claude chats on track

Claude gets slower and forgetful when a chat gets too long. session-pilot warns you early, tidies things up in one click, and shows how much of your usage limit is left.

Get started in 2 minutesSee it

What it does for you

You keep working as usual. session-pilot watches in the background and speaks up only when it matters.

🚦Tells you when a chat is filling upA simple green, yellow, orange or red light, plus a guess of how many more messages you have left.
🧹Tidies up in one clickShrinks the chat while keeping what matters: decisions, to-dos, file names and failing tests.
⏱️Shows your usage limitsYour 5-hour and weekly limits, with how long until each one resets.
✨Makes your prompts clearerPress one button and a vague message becomes a clear one. You review it before sending, and can undo.
📝Saves your placeWrites a short summary so tomorrow's chat can pick up where today's stopped.
🎛️Stays out of your wayIt asks what you want, remembers, and you can quiet it or pause it any time.

What you'll see

A small strip above the box where you type. It looks like this (example).

🟡 62% about 9 messages left
Compact✨ Optimize prompt≡✕
5-hour limit 48% · resets in 2h 10m
Weekly limit 31% · resets in 3d 4h
Green: plenty of room
Yellow: filling up
Orange: tidy up soon
Red: tidy up now

Compact appears once the chat is 60% full. ≡ opens details, ✕ hides the strip.

How to add it

You need Claude Code (the terminal app or the Code tab in the Claude desktop app). Pick whichever way feels easier. No programming needed.

Open a Claude Code chat In the Claude desktop app, open the Code tab and start a chat in any folder. Or open Terminal and type claude.
Type /plugin and press Enter A plugin menu opens. Choose Marketplaces, then Add marketplace, and paste this:
Thinkelution/session-pilot
Choose what to install Open the new marketplace and install session-pilot (alerts and handoffs). Also install session-pilot-ui if you want the strip, Compact button and limits. Restart the chat when asked.
Say hello After Claude's first reply, session-pilot asks three quick questions: when to show the strip, whether to pop up alerts, and how chatty to be. Pick what feels right. Change it any time with /pilot-settings.
Which one do I need?Both is the full experience (recommended). session-pilot alone gives alerts, handoffs and the commands. session-pilot-ui alone gives just the strip, buttons and limits.
Where each workssession-pilot: Terminal, desktop Code tab and cloud sessions. session-pilot-ui: Terminal and desktop Code tab only.
Prefer a status line at the bottom of the Terminal too? Type /session-pilot:setup. It asks first, keeps any status line you already have, and can be undone. Not sure it worked? Type /session-pilot:doctor.
Already have chats open? Start it up in those too A chat loads its add-ons once, when it starts. Chats you opened before installing won't have session-pilot yet, and no add-on can switch itself on inside a running chat. New chats get it automatically; you don't need to type anything.

For an older chat, try these in order:
  1. Quit Claude completely and reopen it, open the old chat, and send a message. The chat usually restarts and picks up what you installed.
  2. Still nothing? Start a new chat in the same folder and paste a short summary of where you were. Session-pilot also saves a handoff summary at 75% full, and offers it at the start of the next chat in that folder.
  3. Not sure it's on? Type /session-pilot:doctor. It tells you what is running and how to fix what isn't.

Useful if you build with Claude Code

Developers hit the limits of a single chat first: big refactors, long debugging sessions, many files, many tool calls. This is where session-pilot earns its keep.

Long agent runs stay healthySee the context fill as Claude reads files and runs tools, and compact at a natural pause instead of in the middle of a fix.
Compaction keeps engineering stateThe compact focus is set to decisions made, open TODOs, file paths and failing tests, so Claude does not forget what is broken.
Catches token wasteFlags files re-read over and over and oversized tool output (huge logs, big diffs) as they happen, and warns when a big idle context has gone cold and will be expensive to resume.
Handoffs between sessionsA summary is saved at 75% and before every compaction, and offered to Claude at the next session start in that repo.
Know your budget5-hour and weekly limits next to context, plus /session-pilot:history for how big your recent sessions grew.
TunableThree alert styles, or fine-tune thresholds in ~/.claude/session-pilot/policy.json. Zero dependencies, fails open, MIT licensed.

Also a working example for plugin authors

Questions

Is it free? Does it use my usage?

It is free and open source. The alerts and strip use almost nothing. The only thing that uses a little of your plan is the ✨ Optimize prompt button, which asks a small, fast model to rewrite your draft (a few hundred words at most), and only when you press it.

Will it change my messages or compact without asking?

No. Optimize prompt puts a suggestion in the box for you to review, with Undo. Compact is a button you press. In the desktop app, the button fills in the compact command and you press Enter to confirm, because the app does not let add-ons start it directly yet. In the Terminal, one click does it.

It works in new chats but not in my old ones

That is expected. A chat loads its add-ons when it starts, so chats opened before you installed session-pilot do not have it. Quit and reopen Claude, then send a message in the old chat. If it still shows nothing, start a new chat in the same folder (the handoff summary helps you carry on).

Why does the Compact button not show?

It appears when the chat is 60% full, so it stays out of the way while you have plenty of room.

Where does it work?

Claude Code in the Terminal and the desktop app's Code tab (strip, buttons, limits, alerts). In the VS Code extension, cloud sessions and Cowork/chat, the text alerts work but the strip does not appear. Cowork is untested so far.

Can I see how many limit resets I have left?

Claude only reports how much you have used and when each limit resets, so that is what the strip shows.

How do I turn it off or quiet it?

Type /session-pilot:snooze 1h to pause alerts, /session-pilot:mode quiet for fewer alerts, or /pilot-settings to hide the strip. To remove it fully, run claude plugin uninstall session-pilot@thinkelution.

Something is not working

Type /session-pilot:doctor. It checks everything and tells you how to fix what it finds.

Is it safe?

The core plugin only reads the conversation file on your computer to measure its size and shows messages; it never changes your prompts or sends your chats anywhere. The strip add-on runs inside Claude Code with your permissions, which is why it is optional. The code is open on GitHub for anyone to read.

For the curious

All commands
Type thisIt does this
/session-pilot:statusPlain summary of how the chat is doing and the next step
/session-pilot:setupAdds a status line to the Terminal (undo reverses it)
/session-pilot:modeQuiet, balanced or proactive
/session-pilot:snoozePause alerts for 30m, 1h or 4h
/session-pilot:handoffSave a summary for the next chat now
/session-pilot:historyRecent chats and how big they got
/session-pilot:doctorChecks the install and suggests fixes
/pilot, /pilot-settingsDetails panel, and your strip preferences
Alert styles
StyleSpeaks up atGood for
Quiet80% and 90% fullShort chats, minimal noise
Balanced (default)60%, 75%, 88%Most people
Proactive50%, 65%, 80%Long, heavy sessions
The small print

Built for Claude Code. The core plugin needs Node 18+ and the strip needs Claude Code 2.1.287+. Alerts can only advise: they cannot rewrite your messages. Open source under the MIT license.