The all-in-one mod pack for Claude Code: usage limits and the context window right above the prompt, a guard with undo for rm -rf and git reset --hard, .env files and secrets kept out of the model, and a receipt under every answer.
Install
claude plugin install ultramod --marketplace mertkayacs/ultramod
135 downloadsnpm registry (npm, Yarn, pnpm, Bun): 86 · Claude Code marketplace: 49 · as of October 10, 2026
One real session, start to finish: HUD, receipt, guard question, /ultra undo, a refused .env read, then the control pane.
What you get
Four mods do most of the work. Everything else is a smaller variation on the same idea.
Context, limits and cost in one row
A row above the prompt with a context bar, both rate-limit windows and their reset times, the live turn time, session cost, model and set. When the terminal narrows, the limits shorten first and whole segments drop from the end instead of wrapping.
The HUD: context, both limit windows, turn time, model and set.
A receipt under every answer
Files changed, commands run, tests and builds with pass or fail, time and cost, in one line. When the answer claims tests pass and no test ran after the last edit, the receipt adds unverified: says tests pass, no passing test run after the last edit.
The receipt under the answer: one command, tests passed, three seconds, $0.00.
A guard for the commands you would regret
Recursive rm outside the safe folders, git reset --hard, force push, drop table, terraform destroy: the command stops and asks. In a git work tree, Ultra Mod first tries to save a snapshot of the work tree, untracked files included, so /ultra undo can bring it back. Snapshots are best effort, and a restore never deletes a file.
The guard question: run it, allow it for the session, or refuse.After the reset ran, /ultra undo 1 restores the snapshot taken before it.
Secrets stay out of the model
Reads of .env files, private keys and credential files are blocked, shell commands that would print them are refused, and tokens in output are replaced with a marker such as [redacted:private-key] before the text is stored.
The refusal tells Claude what to do instead of reading the secret.
All ten mods
One plugin, three jobs. Flip any of them off in the control pane without leaving the set.
See
What is happening, while it happens.
hudContext bar, rate limits, turn time, cost, model and set above the prompt.
receiptsFiles, commands, tests, time and cost in one line under each answer.
notifyA desktop notification when a long turn ends or Claude is waiting for you.
Protect
The things worth a second of friction.
guardHolds commands from the risk table, asks first, tries to save a snapshot before a destructive one.
secretsBlocks reads of secret files and redacts tokens from output.
testsAsks before a test file gets a skip marker or loses assertions.
tidyAsks before a new documentation file appears outside the allowlist.
Steer
Where a long session usually goes wrong.
compactWarns at 70 percent context, offers a button at 85, compacts alone at 88 in marathon.
loopsStops the third identical failure from turning into a fourth attempt.
pinsKeeps the lines in .claude/pins.md in the system prompt for the whole session.
Five sets
A set is a named combination of mod modes. Pick one and every mod moves with it.
essentialsdefault
The default for everyday work. Context on screen, receipts when tools run, a question before anything destructive.
strict
Team repositories and production code. A receipt on every turn, a longer risk table, tidy asks before new files.
flow
Fewest interruptions. Compact HUD, receipts only when something failed, no chime.
marathon
Long unattended runs. Guard refuses risky commands and notifies, tests refuse weakening, compaction at 88 percent.
quiet
Same safety, nothing on screen. HUD and receipts off, guard and secrets still running.
Switch with one command
/ultra set saves the choice for the current project folder and reloads the mods live. Flip any mod inside /ultra and the set shows as essentials* with an asterisk; /ultra reset drops those overrides.
/ultra set strict
The /ultra pane: pick a set, flip any mod, stay in the terminal.
Trust
Every claim below is checkable in a clone of the repository.
No network calls
No mod makes a request. The validator reports the plugin's hooks and calls, and none of them reach the network.
No telemetry
Nothing is measured or sent. Session state stays in Claude Code's own store, under keys that start with ultramod.
No runtime dependencies
Hooks load TypeScript files directly. The npm installer is a single script that prints every command before it runs it.
Guards fail closed
A broken guard refuses the command. A broken HUD returns the next hook in the chain and never blocks a tool call.
claude plugin marketplace add mertkayacs/ultramod
claude plugin install ultramod@ultramod
4
With npx
Checks your Claude Code version and prints each command before running it.
npx ultramod
Then open Claude Code and run /ultra
If Claude Code says the plugin is not found in any configured marketplace, add the marketplace first with: claude plugin marketplace add mertkayacs/ultramod
Questions
What is Ultra Mod?
The all-in-one mod pack for Claude Code. One plugin holds ten mods that run as hooks: a HUD for usage limits and the context window, receipts for every turn, a guard with undo for risky commands, secret protection, test integrity, notifications, auto-compaction, loop breaking, pinned rules and documentation tidying. A set switches them all at once.
Does it work in VS Code, claude -p or the SDK?
Hooks run everywhere a plugin loads. The HUD and the control pane are drawn only in the terminal and the Desktop app; VS Code chat, claude -p and the SDK run the hooks without drawing.
Is it sandboxed?
No. Mods run with your permissions, so claude plugin validate is the audit: it lists every hook and every call. docs/security.md holds the full table.
Does it send data anywhere?
No network calls, no telemetry, no runtime dependencies. The validator confirms env writes: nothing.
How do I switch sets?
/ultra set with a name: essentials, strict, flow, marathon or quiet. The choice is saved per project. Open /ultra to flip single mods, and run /ultra reset to drop the overrides.
What is the claim check?
If an answer says tests pass, the build succeeds or the type check passes, and no matching command ran after the last edit in that turn, the receipt adds unverified: says tests pass, no passing test run after the last edit. It never blocks the turn.