Skip to main content
Adds under 1 ms p95 per Claude Code tool call (measured on a developer laptop, loopback). Policy authoring, audit log, and dashboard are shared with your production-agent setup.

Install

Requires Node.js 22+ on macOS or Linux.
rubric init is interactive and prompts for two values: The Rubric API URL defaults to https://api.rubric-app.com. Override with the RUBRIC_API_URL env var if you’ve been given a different URL. After init completes, every Claude Code tool call on this machine flows through your policies. No code change, no harness change.

Scripted installs

Skip prompts with flags:
Or via env vars: RUBRIC_AGENT_NAME, RUBRIC_ENROLLMENT_TOKEN, RUBRIC_API_URL. init will also install a launchd LaunchAgent (macOS) or systemd-user unit (Linux) so the daemon survives logout and reboot.

Verify

Six checks must pass:
Each failure prints an actionable next step. The most common failure on a fresh install is bundle non-empty + fresh — you need to author at least one policy in the dashboard and scope it to this agent.

Writing policies

Policies are authored in the dashboard exactly like the production adapters. Fields available to Claude Code policies: Example — block reads of common secret files:
The deny reason shows verbatim in the developer’s Claude Code terminal:
Rubric denied this call: policy block-secret-files-claude-code (rule deny-secret-file-access) matched.

CLI reference

rubric init flags

rubric logs filters

rubric stop flags

rubric uninstall flags

Where things live on disk

Uninstall

User-authored entries in ~/.claude/settings.json are preserved — only entries pointing at the local daemon URL are stripped.