EVE + Claude Code (Cooperative Hooks)

Compatibility: Experimental integration — structurally implemented but not included in the supported release-candidate adapter matrix.

Claude Code can call EVE governance from its hook mechanism (for example, a pre-tool hook that submits a pending tool call to CoreGuard for a deterministic ALLOW / BLOCK / MODIFY decision). This adapter is classified as cooperative: the hooks are a cooperation point, not an enforcement boundary. They observe and can advise, but they are not an unbypassable boundary. Only the generic adapter is SUPPORTED.

How the hook integration works

A hook submits the pending tool call to EVE before it runs. The decision path has no LLM.

from eve_coreguard import EVE

eve = EVE()  # hosted endpoint

# Called from a Claude Code pre-tool hook with the pending call.
decision = eve.govern_tool_call(
    tool="run_shell",
    arguments={"command": "rm -rf /workspace/tmp"},
    context={
        "tenant_id": "tenant_demo",
        "principal_id": "developer_1",
        "session_id": "sess_c204",
    },
)
# The hook surfaces BLOCK/MODIFY to Claude Code; enforcement depends on the hook being honored.

eve-coreguard (0.2.2) is distributed privately during a pilot and is not on a public index. Entry point: from eve_coreguard import EVE.

Why hooks are not an enforcement boundary

Cooperative hooks depend on the surrounding runtime invoking them and honoring their result. A tool call that does not pass through the hook — or a path that ignores the hook's verdict — is not governed by it. Treat Claude Code hooks as a useful cooperation and evidence-generation point, not as a wall.

Hardened alternative

For an enforcement boundary that does not depend on a cooperative hook being honored:

  • Put tools behind a restricted server-side tool registry reachable only through the governed path.
  • Proxy tool execution through a sidecar so governance runs out-of-process.
  • Apply network enforcement so tool endpoints are only reachable via the governed path.
  • For MCP tools, route through the MCP gateway, which binds the approved request to the executed request (see mcp.md).

Readiness

  • This integration: experimental — cooperative hooks, not an enforcement boundary; not in the supported release-candidate adapter matrix.
  • Generic Python adapter: SUPPORTED.
  • EVE SDK core: RELEASE CANDIDATE WITH EXCLUSIONS.

Limitations

  • Cooperative hooks are not an unbypassable boundary; a call that skips or ignores the hook is not governed by it.
  • Not validated against a pinned live version.
  • Hosted mode requires a reachable endpoint; embedded governance is the EVE service.
  • Evidence verification proves authenticity and integrity, not decision correctness; independent verification needs the Ed25519 public key.
Part of the EVE AI Core control plane Deterministic AI Governance Control Plane → Policy decisions that return the same result for the same input every time, before execution.