A Claude Code plugin

Your Claude limit, protected.

Orstrum measures what each session really costs, catches fix-and-break loops before they burn the week, and carries your work from one session to the next.

Runs locally. Never touches your git. Not affiliated with Anthropic.

$ claude
[orstrum 31%w · ok] week resets Thu 09:00
› Edit src/format.js
› npm test ✗ 2 failing
› Edit src/format.js
› npm test ✗ 2 failing
› Edit src/format.js
Orstrum: loop (3 failing edits on format.js). Stop editing and ask the user now: roll back to the last working checkpoint, or hand off and restart?
● I've been editing format.js in a loop. The spec wants exact decimal output from floats, which contradicts IEEE 754. How would you like to handle it?
Where the week goes

Three ways an agent spends your limit without shipping anything

The fix-and-break loop

Edit, run, fail, edit the same file again. Each lap costs a full read of the context. Left alone, a model will change the test instead of the code to make the red go away.

Context bloat

A long session carries every tool output ever printed. By hour two, each turn is paying for the first hour again.

The lost session

Compaction or a restart wipes what the agent knew. The next session rediscovers the codebase, re-makes decisions, and sometimes undoes them.

How it works

Agent first, human second

Orstrum doesn't give you a dashboard to watch. It pushes the numbers and the policy into the agent's own context, so the agent changes its behavior. You see outcomes in plain English.

01

Measure

At every session start and turn end, Orstrum reads the same usage numbers Claude Code shows in /usage, so the share of the week it reports is what you'd see yourself. The status line shows it under the prompt; orstrum report shows where the last session's budget went: which files, which loops, which tool outputs.

[orstrum 31%w · ok]
› orstrum_status
Orstrum: week 31%, resets Oct 17 8pm · 5h 12% · measured · mode normal · context 27k
$ orstrum report
session 4f2a: 4% of the week · 1 loop (format.js, 3 edits) · nudge followed
02

Intervene

A policy file says how cautious to be. As the week fills, the agent is told to conserve, then to wrap up, then to pause. When the same file fails three edits in a row, the agent gets a nudge to stop and ask you. If it ignores the nudge, the next edit to that file is blocked until you weigh in. A test that passes only because the test was changed is flagged, never saved as "working."

.orstrum/policy.json
{ "week": { "conserve_at": 50, "wrap_up_at": 80 },
  "loop": { "failing_edits": 3, "block_ignored": true } }
Orstrum budget: week 52% · 5h 18% · measured · mode conserve (orstrum skill).
03

Carry over

Every passing test takes a checkpoint in a shadow repository inside .orstrum/. Your .git is never touched. Rollback is one tool call. At the end of a session the agent writes a handoff that Orstrum validates against the event log, so "tests pass" only survives if the tests actually ran. After compaction or a restart, the handoff is recalled into context before the first turn.

› orstrum_rollback
Rolled back to cp-2 (Oct 14, 2:20 PM, after `npm test` passed): 1 restored, 0 brought back, 0 removed.
Undo with orstrum_rollback cp-4.
› orstrum_handoff
Handoff saved for the next session. From the log: 1 files edited · last `npm test` failed · 12 tool calls, 3 errors.
Tagged [unverified]: "All tests pass now" (last `npm test` failed). Correct it if the log is right.
Pricing

Measuring is free. Not losing work is $10 a month.

Built for teams on the Claude Pro and Max plans, where the limit is the budget.

Free

$0

See where the limit goes and stop the loop while it's happening.

  • Status line with your real share of the weekly limit
  • Budget modes pushed into the agent: normal, conserve, wrap up, pause
  • Fix-and-break loop and context-bloat detection, with a nudge to the agent
  • Test-tampering check: a pass that only changed the test is called out
  • orstrum report: where the last session's budget went
Install

Pro per seat

$10 / month

Checkpoints, rollback, and a handoff that survives the next session.

  • Everything in Free
  • Automatic checkpoints after every passing test, in a shadow repo
  • One-call rollback to the last working state
  • Validated handoff between sessions, recalled after compaction
  • Project rules the agent sees at every session start
  • Hard block on the looping file after an ignored nudge
Start Pro →

Three or more seats share a workspace. Cancel any time from the dashboard.

Install

Two commands in Claude Code

1

Add the plugin

/plugin marketplace add Orstrum/imagine
/plugin install orstrum@orstrum
2

Set up the project

/orstrum:orstrum start

A four-question interview writes the spec, the rules and the budget policy into .orstrum/. Everything else is automatic.

3

Pro: add your license key

/orstrum:orstrum license ork_…

Keys are minted in the dashboard. The plugin checks the key once per session and keeps working for a week offline.

Requires Claude Code and Node 22.13 or later. Works on macOS, Linux and Windows; hooks are Node scripts, never shell.

Stores an event log and checkpoints in .orstrum/ inside the project and usage samples in ~/.orstrum/. Nothing else. What Orstrum stores →

Questions

The ones we'd ask

Does any of my code leave my machine?

No. The hooks make exactly one network call: Claude Code's own usage endpoint, with the OAuth token Claude Code already stores, so the numbers match /usage. On Pro, the plugin also verifies your license key against orstrum.com once per session; that request carries the key and nothing else. There is no telemetry.

Will it touch my git repository?

Never. Checkpoints live in a separate bare repository inside .orstrum/shadow/. Orstrum does not run git against your .git, add to your index, create branches, or edit your .gitignore; it writes its own .orstrum/.gitignore so the folder stays out of your repo.

Which Claude plans does it work with?

Pro and Max subscriptions, where usage is a weekly limit. Orstrum reads the same numbers Claude Code shows in /usage. If the endpoint isn't available (an API-key setup, say), it falls back to a token estimate and tells you so.

Does it slow Claude Code down?

The hot-path hooks append an event and exit; the budget is under 100 ms and a latency test holds it there. Analysis happens at the end of a turn. Every hook is fail-open: if Orstrum breaks, Claude Code keeps working and the error goes to ~/.orstrum/hook.log.

Is it open source?

The core (event capture, detectors, report, the MCP server) is MIT. The Pro features (checkpoints, rollback, handoff, recall) are source-available under FSL-1.1-MIT, which converts to MIT two years after each release. Everything is in the same repository.

How do the Pro tools get used? Do I have to ask for them?

You can, with /orstrum:orstrum rollback and friends, but the point is that you don't have to. The plugin tells the agent when to checkpoint, when to roll back, and when to hand off, and the agent calls the tools itself. Tool results are kept to a line or two, because every token of output comes out of the limit Orstrum is protecting.

Install it before the next session you'd rather not lose.