# Why it matters

### Know every turn's cost
Each Stop hook records input and output tokens per turn, per shard. A long planning shard never pollutes the numbers for a fresh one next to it.

### Turns left, not guesswork
After a few turns crystl projects how many more fit in the remaining window, computed from the shard's median burn rate. Read large files and the estimate drops to match.

### See what each plugin costs
The panel itemizes every installed plugin and skill loaded into the shard, with the token weight of each one. The heavy entries are no longer hidden.

### Reclaim budget in one click
Click a heavy plugin or skill and disable it for this gem or globally. Disable a Claude entry and crystl hot-reloads the running session: no restart, and your turns-left estimate ticks up immediately.

### Re-scales when you switch models
crystl reads the model ID out of the transcript and looks up its window. Drop from Opus to Haiku mid-session and the estimate re-scales on the next turn.

[Read the Context Load Tracking docs→](/content/docs/context-load/index.html)

## try it yourself
A free account and a download. macOS only, for now.

[get started](/content/login/index.html) [getting started guide →](/content/docs/getting-started/index.html)

## Frequently asked questions

**When does the turns-left estimate appear?**  A plain turns label appears at the end of the line under the terminal as soon as an agent starts. It switches to the estimate once enough turns have landed to measure a burn rate. The rate is the median growth per turn, so one outlier turn can't produce a wild estimate.

**How is the estimate calculated?** It's (window − used) ÷ burn rate, where burn rate is the shard's average tokens per turn so far. A shard reading large files burns faster and shows fewer turns left than one doing short exchanges.

**What happens when I disable a plugin or skill?** For Claude, you can disable it for just this gem or for every gem and Claude session globally, and crystl injects /reload-plugins so the change takes effect mid-session. For Codex, disables land in ~/.codex/config.toml globally and you restart the codex process to apply them.

**What does the panel track per turn?** Input tokens (prompt, history, tools, and file contents sent in) and output tokens (text, tool calls, and thinking generated). Each Stop hook appends a TurnMetric to the shard's session log; if the payload lacks token data, crystl falls back to parsing the transcript.

**Does this work with Codex?** Yes, with fewer scopes. crystl scans ~/.codex/plugins/cache and ~/.agents/skills for Codex shards. Codex has no per-project plugin scope and no hot-reload, so disables are global and need a codex restart, where Claude disables can be gem-scoped and apply live.
