Ultra Mod

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.

Read the MIT license

Audit it yourself

The command below lists every event the plugin hooks and every call it makes, including the line env writes: nothing.

claude plugin validate ./plugin

Install

Current version 1.0.3. Requires Claude Code 2.1.287 or later.

In the shell

One command from any terminal. It adds the marketplace and installs the plugin.

claude plugin install ultramod --marketplace mertkayacs/ultramod

In Claude Code

The same command inside a session. The mods start right away.

/plugin install ultramod --marketplace mertkayacs/ultramod

In two steps

Add the marketplace first, then install from it.

claude plugin marketplace add mertkayacs/ultramod
claude plugin install ultramod@ultramod

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.