install

Two lines in, one conversation to configure, one command out

The uninstall story is as documented as the install one — a layer you can't turn off is a layer you'll eventually resent.

1

Install the plugin

Inside Claude Code — vanilla or years-old setup, same two lines. A plugin install is additive by construction; nothing about your existing configuration is touched.

/plugin marketplace add JimmayVV/keel
/plugin install keel@keel
2

Let Claude walk the configuration

In a fresh session. It looks at what's already set up, asks only about what's missing — a name for this machine, where your notebook should live, your projects, the recommended safety settings — and runs the commands itself. Safe to run again any time as a check-up.

/keel:setup

Prefer doing it by hand? keel setup --memory-home ~/notes, then claude plugin install keel-memory@keel — the notes engine needs uv, and a fresh session picks it up.

3

There is no step three

No launcher, no wrapper, no alias — you invoke claude exactly as you would without keel. Everything it contributes loads into a plain session. keel update pulls the latest whenever you like, and verifies by commit rather than trusting a version string.

requirements

Node, and honestly not much else

nodeThe hooks are plain .mjs with zero dependencies. Your machines may not have bun, deno, python, or jq — node is the portable floor.
uv + python ≥ 3.12Only if you enable the keel-memory adapter — and uv provisions the interpreter for you, which is why upstream recommends it.
the exits

Leaving is one command, and it's documented

KEEL_GUARD_OFF=1Disables the security guard entirely.
KEEL_ACTIVITY_OFF=1Stops activity capture without uninstalling.
KEEL_TRAILERS_OFF=1Disables the commit-trailer guard.
KEEL_INGEST_OFF=1Stops stamping web and app content as untrusted.
~/.config/keel/policy.jsonYour policy — adds rules, or exempts any shipped one via bash.allow / paths.allow, checked first and winning outright.
/plugin uninstall keel@keelThe software, gone. Your work diary, notes, and backups stay — they're yours, and UNINSTALL.md lists every path if you want them gone too.
The fresh-start ceremony is the one thing that stays a deliberate, human-run script: resetting an accumulated config to vanilla with keel on top. bash scripts/install.sh walks it — never runs sudo, never deletes (the reset is a mv with the undo printed first), and keel migrate can put back marketplaces and plugins from the old config at any point after, one at a time or all at once.