CLI
npx memnox <command> # no install
npm install -g memnox # or install it
memnox --help # the tree, at any depth
memnox <command> --helpOptions that appear on almost every command
These six are not repeated in each entry below. Any command that talks to the runtime accepts them, and each has a sensible default, so you can usually ignore all of them.
Option
--url <url>--token <token>--admin-token <token>--project <name>--env <environment>--jsonReading these commands
<angle brackets> are values you supply and [square brackets] are optional.
Commands below list what each of their own placeholders means, but these five
recur everywhere, and each one has a place it comes from.
Placeholder
<id><sessionId><eventId><agent><pack>Setting up
$memnox setupWhat it does
--enforce--no-detect--no-hook--no-mcp--no-graph--no-serve
Where things go
-f, --file <path>--project <name>--protected-path <pattern>-p, --port <port>-H, --host <host>
$memnox quickstart [agent]$memnox init$memnox protect <agent><agent>
$memnox hook <agent>Running the runtime
$memnox serveListening and files
-p, --port <port>-H, --host <host>--policies <path>--data-dir <path>--base-path <path>
What happens when nothing matches
--default-effect <effect>--enforcement <spec>--rate-limit <rpm>--audit-retention-days <days>
Storage
--database-url <url>--redis-url <url>
Who may call the admin routes
--admin-token <token>--allow-local-admin--agent-jwt-secret <secret>--agent-jwt-issuer <issuer>
TLS, and identity by certificate
--tls-cert <path>--tls-key <path>--tls-ca <path>
Guards, each opted into by name
--behavior-guard--trust-guard--verification-guard--dependency-guard--dependency-license-lookup--protected-path <pattern>--code-graph <path>--token-budget <tokens>--no-content-shield--no-shell-guard--no-memory
Encryption at rest
--keyring-file <path>--data-key <key>--data-key-file <path>--encryption-mode <mode>
Notifications and search
--approval-webhook <url>--slack-signing-secret <secret>--embedding-key <key>--embedding-model <model>--embedding-dimensions <n>
Seeing what happened
$memnox statusRuntime : http://127.0.0.1:7466
Policies : 10 (version e852ac2d63d0)
Project : acme-checkout
Credential: stored (config)
Decisions : 214 recent
Waiting : 1 approval(s)
Observed : 9 would have been stopped if enforcing$memnox audit2026-07-31T23:03:24Z BLOCK local-editor: shell.execute rm -rf / — Destructive
shell commands are blocked for AI agents.
2026-07-31T23:03:24Z ALLOW local-editor: shell.execute ls -la — no policy matched$memnox audit verify$memnox explain <eventId><eventId>
$memnox replay <sessionId><sessionId>
$memnox insightsAsking before acting
$memnox context <action> <target><action><target>
memnox context file.write 'src/app/(auth)/login/page.tsx'$memnox check <action> <target><action><target>
Policies
$memnox validate <file><file>
$memnox policy version$memnox reload--url <url>--admin-token <token>
$memnox policy packs$memnox policy install <pack><pack>
$memnox policy simulate <file><file>
-f, --file <path>--against <path>--limit <n>--default-effect <effect>--url <url>--admin-token <token>
Also available as memnox simulate <file>. It is the same command one word
deep, because this is the step that makes a policy change safe to ship.
Approvals
$memnox approvals$memnox approvals list$memnox approve <id> --by <name><id>--by <name>
$memnox deny <id><id>
$memnox approvals status <id><id>
$memnox approvals health$memnox approvals resolve <id><id>
--by <name>--deny
$memnox approvals override <id> --reason "<text>"<id>--reason "<text>"
Agents
$memnox agents register --name <name>--name <name>--kind <kind>
Capabilities are not set here. The wildcard patterns an agent may never
exceed are supplied at registration through POST /v1/agents, which the CLI
does not expose. See Protect your agents.
$memnox agents list$memnox agents suspend <id><id>
$memnox agents activate <id><id>
$memnox agents rotate <id><id>
Decision memory
$memnox memory add "<decision>""<decision>"
$memnox memory list$memnox memory search "<query>""<query>"
$memnox memory health$memnox memory digest$memnox memory retire <id><id>
$memnox memory remove <id><id>
Code graph and blast radius
$memnox graph build <directory><directory>
$memnox graph explain <file><file>
$memnox graphify status$memnox graphify install$memnox graphify build [directory]$memnox graphify use [directory]MCP
$memnox mcp$memnox mcp install <client><client>
$memnox mcp uninstall <client><client>
Reporting and compliance
$memnox report$memnox compliance controls$memnox compliance summary$memnox ci--base <ref>--staged--json--no-fail
Control plane
$memnox login$memnox logout$memnox whoami$memnox pull$memnox suggestions$memnox timelineEncryption keys
$memnox keys generate$memnox keys status$memnox keys rewrapRetiring a key is: generate → make it active → rewrap → remove the old one
once status shows nothing left under it.
Intelligence (optional, BYOK)
$memnox draft "<instruction>""<instruction>"
$memnox intent "<goal>""<goal>"
Where things live
Path
memnox.policies.yaml~/.memnox/config.json~/.memnox/policies.json.memnox/code-graph.json
