Day one

Day one.

Five steps. Each is one thing you type and one thing that's now true.

Type these in Claude Code

/plugin marketplace add DojoGenesis/plugins
/plugin install dojo-suite@dojo-genesis

Mods are early access. Enable them with export CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 (or add it under env in ~/.claude/settings.json), then restart Claude Code. They load from dojo-router, dojo-meter and dojo-verify; dojo-suite includes all three, and if you installed plugins one at a time you need those three. Everything classic works without them.

Prefer to pick? Skip dojo-suite and install one plugin at a time, e.g. /plugin install dojo-gates@dojo-genesis.

Tested with Claude Code 2.1.286 on 2026-10-02. Mods rely on function hooks, a Claude Code surface that may change between versions.

The path

The five steps.

Add the marketplace

In Claude Code
/plugin marketplace add DojoGenesis/plugins

Claude Code can now see the suite. Nothing is installed yet.

Install the suite

In Claude Code
/plugin install dojo-suite@dojo-genesis

dojo-suite lists the eight plugins as its dependencies, so installing it installs the protocol, the guards, the router, the cost report, the evidence check, the workflows, the config doctor and the decision experiments. dojo-protocol is quiet: it adds the rules to the session's context rather than printing a banner. dojo-router warns when a subagent would inherit your top model, and dojo-gates refuses a short list of risky command shapes.

Start a new session

In Claude Code, then start a new session
/reload-plugins

The protocol loads when a session starts, so it won't appear in a session that was already running.

See it work

In your shell
cd "$(mktemp -d)" && git init

A throwaway repository, so nothing real is at risk.

In a new Claude Code session started in that folder, ask Claude
Run git add . in this folder.

dojo-gates refuses it and suggests explicit paths. Ask Claude to run it: a command you type yourself with a leading ! isn't a tool call, so no guard sees it.

Optional, in Claude Code
/dojo-doctor:check

dojo-doctor lists broken hook interpreters, hook failures, injection weight, always-on weight and whether function hooks are on. It only reads.

Try the mods early access

In your shell
export CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1

Or add it under env in ~/.claude/settings.json. Restart Claude Code after the export. The mods load from dojo-router, dojo-meter and dojo-verify; dojo-suite includes all three. If you installed plugins one at a time, install them first, for example /plugin install dojo-meter@dojo-genesis.

In Claude Code
/dojo-meter:cost

/dojo-meter:cost is a classic script and works without the flag: it prints an estimate from your transcripts. The live band, and dojo-router's routing by role, are the mods. They need the flag.

Kill switches

Every guard has an off switch.

Set these in your shell before you start Claude Code, or under env in ~/.claude/settings.json. The first turns off every hook in the suite; the next five turn off one plugin; the last skips a single guard by its id.

DOJO_OFF=1
DOJO_GATES_OFF=1
DOJO_ROUTER_OFF=1
DOJO_VERIFY_OFF=1
DOJO_PROTOCOL_OFF=1
DOJO_METER_OFF=1
DOJO_GATES_SKIP=<id>,<id>

The three plugins without hooks, dojo-flow, dojo-doctor and dojo-settle, run only when you call them.

Two lines in, then watch it refuse something.