Part of the Paladin docs.
Paladin installs into an agent's own hook mechanism where one exists, and falls back to running the agent behind a proxy where it does not. Your agent's code does not change.
| Agent | Command | What it covers |
|---|---|---|
| Claude Code | paladin install-hooks --agent claude | Every tool call |
| Codex CLI | paladin install-hooks --agent codex | Every tool call |
| Cursor | paladin install-hooks --agent cursor | Shell commands only |
| Anything else | paladin run -- <your command> | Model calls and egress through the proxy |
For Claude Code that is one command:
paladin install-hooks --agent claude
The installer merges into your existing settings. It preserves other hooks, refuses to touch a malformed file, and running it twice does nothing the second time.
From then on, every tool call is checked before it runs. A blocked call comes back with the reason:
Personal info detected in an outbound action; blocked from leaving.
Every rule resolves to exactly one of these.
In Claude Code an escalate decision becomes its own confirmation prompt, so a person approves in place. A redact decision blocks instead, because the hook protocol cannot rewrite arguments and quietly forwarding the original would be worse than stopping.
Next: Writing policy.
Cortexa Labs, Inc.