Install
From inside Claude Code:- Add the marketplace - registers the
adrianmarketplace from the Adrian repo. - Install the plugin - installs
adrian-ccfrom that marketplace. - Configure -
/adrian-initpicks a backend, writes~/.adrian/.env, and verifies the connection.
/adrian-init reports OK.
No
pip install step. The plugin vendors its only third-party dependencies (protobuf, websockets, certifi), so a working Python 3.12+ is all it needs.Configure
/adrian-init is the guided path: it asks which backend you want (Adrian Cloud, a self-hosted OSS backend, or a custom URL), writes ~/.adrian/.env, and asks you to drop your API key into that file - never into the chat. It then verifies the connection and reports the backend mode.
For Adrian Cloud, generate a key (adr_live_...) in your dashboard and paste it into ~/.adrian/.env when prompted.
Commands
Configuration
/adrian-init writes ~/.adrian/.env. A value already set in the environment wins; otherwise a project-local .env (in the directory you launch Claude Code from) takes precedence over ~/.adrian/.env.
Enforcement modes
Enforcement is server-driven: the backend policy decides the mode on login and the plugin acts accordingly. Nothing is hard-wired in the client.
Which severity codes are in scope for action is also policy-driven. The default policy acts on high-risk codes (
M3 / M4), but a policy can act on any code. See Severity codes for what each M-code means and How it works for the operating modes.
What’s captured
- Every tool call. Classified in real time at
PreToolUse, before the tool runs. - Tool outputs. Captured at
PostToolUse. - Sub-agent activity.
Agenttool spawns are tracked with parent / child hierarchy. - Invocation grouping. Events are grouped by the user prompt that triggered them.
- Reasoning and instructions. Claude’s reasoning and your instructions are extracted from the session transcript.
Requirements
- Claude Code.
- Python 3.12+ on your PATH (
python3,python, or thepylauncher on Windows). - Windows only: Git for Windows (Git Bash). Claude Code runs plugin hooks under Git Bash by default; a
.cmdlauncher is bundled as a cmd.exe fallback. - An Adrian backend and API key - Adrian Cloud, or a self-hosted OSS backend.
/adrian-initwalks you through it.
Known limitations
- Fail-open by default. If the backend is unreachable or a verdict times out, tool calls are allowed so your workflow is never blocked by an outage. Set
ADRIAN_CC_FAIL_OPEN=falseto fail closed. A quiet session can mean the backend was simply unreachable - check/adrian-statusfirst. - Effective next session. Hooks load at session start, so installing, updating, or reconfiguring the plugin takes effect in new Claude Code sessions.
- Pre-execution classification.
PreToolUsejudges a tool call from its parameters before it runs; the verdict is based on the requested action, not its result.

