Integrations
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 CoreGuardClient
client = CoreGuardClient(api_key="eve_sk_...") # hosted CoreGuard API
# Called from a Claude Code pre-tool hook with the pending call.
result = client.evaluate(
request_id="req-001",
tenant_id="tenant_demo",
proposed_action={"type": "run_shell", "command": "rm -rf /workspace/tmp"},
model_output={"decision": "run", "confidence": 0.9},
context={"principal_id": "developer_1", "session_id": "sess_c204"},
policy_set="lending_v1",
)
# The hook surfaces BLOCKED/MODIFIED to Claude Code; enforcement depends on the hook being honored.
eve-coreguard (0.2.7) is published on PyPI.
Entry point: from eve_coreguard import CoreGuardClient.
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 ECDSA P-384 public key.