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.