Skip to main content
A harness is whatever your agent actually runs inside. Failproof AI supports twelve of them, in two classes:
  • Coding CLIs (10) — Claude Code, Codex, GitHub Copilot CLI, Cursor, OpenCode, Pi, Factory Droid, Devin CLI, Antigravity CLI, Goose
  • Chat and assistant gateways (2) — Hermes (Slack, Telegram, cron), OpenClaw (self-hosted assistant)
The same policies and the same session history apply whichever one an agent runs in. One adapter layer maps each harness’s native event names, tool names, and tool-input fields onto 29 canonical events before any policy runs. An agent that runs in none of the twelve is instrumented directly with the Python SDK. That is a different contract, and worth stating plainly: the SDK delivers tracing, sessions, evaluations and audits — it does not enforce policies on its own. Blocking an unsafe action before it executes needs an enforcement hook at your runtime’s tool boundary; contact us and we will map it. Each integration normalizes its native hook event names, tool names, and tool-input fields before policies run. A policy can only act on events the harness exposes; test end-of-turn and instruction behavior on the exact harness and version you deploy.

Enforcement capability

“Block” means the current adapter’s returned verdict is consumed by the named harness. Post-tool blocking may replace the result shown to the model but cannot undo a tool side effect that already happened. Capabilities are version-sensitive. Re-test after upgrading an agent CLI, especially when a policy relies on prompt, stop, permission, or post-tool behavior rather than the common pre-tool gate.

Install capture and policy hooks

  1. Open Administration → Keys and create a key with events:add and policies:pull, named for the machine or environment.
  2. On the target machine, connect the local CLI with the displayed key and install the harness hooks.
  3. Start a new agent session, then confirm its hook and session events under Observe → Events.
  4. Open Observe → policy for the same time window and confirm a policy decision is attributed to the machine.
The connection starts with a machine key. Confirm that it includes both ingestion and policy-delivery permissions before copying its secret.The new API key drawer used to grant event ingestion and policy delivery permissions.After installing the hooks, the Events stream should show new events from the machine and environment you connected.The live Events stream used to confirm a newly installed harness is reporting.Finally, verify that policy decisions are attributed to the same machine. This confirms the harness is reporting policy activity as well as trace events.The Policy page used to verify policy decisions from a newly connected harness.

Add a non-default session path

Extra paths are registered on the machine, not in Cloud. After adding one, open Observe → Sessions, filter to the machine’s environment, and confirm sessions from the new path appear. Open a session and check the agent, harness, and event timestamps before relying on it in an audit.The Sessions list filtered to the environment receiving data from the additional capture path.
Run one new session after installation. Verify both the live event stream and an actual policy decision before expanding the rollout.