Skip to main content
Installing the package adds an agentegrity command. python -m agentegrity runs the same program, so every example below works either way.
An unknown command prints an error and exits with status 2.

Info

After the v0.13.0 package is published and installed, prints agentegrity 0.13.0, then one line per Python adapter (claude, langchain, openai_agents, crewai, google_adk, autogen, agno, bedrock_agents) marked installed or not installed with the pip install extra that provides it, the four shipped layers, and whether the anthropic package for the [llm] extra is installed. It looks up each framework’s package without importing it.

doctor

Builds an AgentegrityClient, evaluates AgentProfile.default(name="doctor-agent") once and prints the profile, composite score, action and the layers that ran, followed by OK. Exits 0 when the composite score is above zero and 1 otherwise. Use it to confirm an install works; it makes no network calls apart from telemetry.

pro

string
Ingest token. Defaults to AGENTEGRITY_TOKEN.
string
Backend origin. Defaults to AGENTEGRITY_EXPORTER_URL, then AGENTEGRITY_URL. A trailing slash is removed.
flag
Without a command, print the environment variables to set and a reminder to pass -- <command>. It does not send any session data.
string
Everything after -- is run with AGENTEGRITY_TOKEN and AGENTEGRITY_EXPORTER_URL set.
The command always checks the token first, with GET <url>/ingest/verify and the token as a Bearer credential, and prints connected to <url> (workspace: <name>). With a command, it then replaces its own process with that command, and every Python adapter created inside it attaches an HTTPExporter. When a command runs, its own exit status is returned. More on what streaming sends in Stream to Agentegrity Pro.

hook

Reads one hook payload from standard input and prints the host’s response, if any, on standard output. The Claude Code and Codex plugins call this on every hook event; you do not run it by hand. On the first call in a session it starts a hook-daemon for that session under a file lock and forwards the payload to it. It always exits 0 and prints nothing when it cannot decide, so a failure never breaks the host session: the host’s own permission flow applies. An invalid --host prints usage to standard error and exits 0. AGENTEGRITY_HOOK_DISABLED=1 turns it into a no-op. The variables that control it are in Configuration, and the plugins are covered in Claude Code and Codex.

hook-daemon

Serves one session over a Unix socket until the host sends SessionEnd or no hook arrives for AGENTEGRITY_HOOK_IDLE_SECONDS (default 1800). hook starts it; it is not listed in help. Missing or invalid arguments print usage and exit 2. The daemon persists the session’s decision chain to ~/.agentegrity/<host>/<session>.chain.json (or under AGENTEGRITY_HOOK_DIR).

verify-decisions

Loads a chain written by AttestationChain.to_json() and runs three checks: hash linkage between records; decision links, meaning every decision an attestation cites exists earlier in the chain with an unchanged hash; and an Ed25519 signature on every record. It prints the result of each check and a table with one row per record (index, kind, decision point, capture tier, signed, verified).
path
File containing one raw Ed25519 public key as hex. Repeat to pin several keys. Records signed by any other key fail. Without this option, each record is checked against the public key embedded in it, which a forger controls, and the output marks signatures as UNPINNED (self-vouched).
Hash linkage alone does not prove a chain was not edited: the hashes are unkeyed SHA-256, so whoever edits a record can recompute them. That is why a clean exit requires signatures. Records are signed only when the adapter has a signing_key. The coding-agent hook runtime signs with a per-machine key whose public half is ~/.agentegrity/keys/hook.pub (Claude Code); chains written by 0.12.0 hooks, and the records a resumed session wrote before signing was available, are unsigned, so this command exits 1 on them. Use report to inspect those.

report

Renders a session audit report from a serialized chain: source and final chain hash, the three verification results, a timeline of every record, a table of human approvals taken from approval decision records, and a mapping of the report’s evidence to EU AI Act articles 12 and 14 and NIST AI RMF GOVERN 1.2, MEASURE 2.7 and MANAGE 4.1. The report states that the mapping is supporting evidence and does not determine compliance.
markdown | json
default:"markdown"
Output format.
path
Pin signing keys, as for verify-decisions. Repeatable.
path
Write the report to a file instead of standard output.
Without --trusted-key, unsigned or self-signed chains still exit 0; the report discloses that signatures are unanchored.

Telemetry

info, pro, doctor, verify-decisions and report each send one anonymous cli_run event naming the command, unless telemetry is disabled. hook and hook-daemon send none. See Telemetry.