CLI Reference: Audit

Commands for querying the tamper-evident audit log.

ash audit

Query the audit log, with optional filtering.

ash audit [--agent <agent-id>] [--limit <n>]
FlagDefaultDescription
--agent, -a(all agents)Filter entries by agent ID
--limit, -l20Maximum number of entries to show

Example: show last 50 entries for a specific agent:

ash audit --agent 550e8400-e29b-41d4-a716-446655440000 --limit 50

Example: show the 20 most recent entries across all agents:

ash audit

Output format

Each audit entry includes:

FieldDescription
timestampRFC3339 UTC timestamp
agent_idUUID of the agent that generated the entry
eventEvent type (e.g. ToolInvoke, StateTransition, CapabilityGrant, SecretUse)
detailEvent-specific detail (tool name, old/new state, etc.)

Secret values are never included in audit entries; they appear as [REDACTED:<name>].

Event types

EventDescription
SpawnAgent was spawned
StateTransitionLifecycle state changed
ToolInvokeTool was invoked (includes tool name, success/failure)
CapabilityGrantA capability grant was issued or revoked
SecretUseA secret handle was resolved (name only, never value)
HumanApprovalAn HITL request was approved or denied
McpAttachMCP server was attached
McpDetachMCP server was detached
AnomalyDetectedAnomaly detector fired
TerminateAgent was terminated

Audit log guarantees

  • Entries are append-only and stored in an in-memory ring buffer (configurable size).
  • Secret values are scrubbed before entries are written.
  • All auto-approved secret uses include the matching policy ID for traceability.