Reference

CLI

Every command runs against a Grenz home — ~/.grenz by default, or wherever --home points. Nothing here makes a network call except grenz run forwarding your agent's traffic.

Setup

Getting a working home on disk.

CommandWhat it does
grenz initScaffold a home: identity, vault, config, policy, first token
grenz doctorOffline preflight — config, vault, policy, credentials, port. Exits 1 on problems
grenz runStart the proxy
grenz run --shadowEvaluate policy without enforcing it; log what would have been blocked
grenz vault set <key>Store a credential, value read from stdin
grenz vault listList credential keys — names only, never values

Policy

Policies are code. These are the tools you would want for code.

CommandWhat it does
grenz policy checkValidate and summarize
grenz policy lintFlag dead patterns, shadowed rules, grants broader than they look
grenz policy testAssert (tool, action, target) → decision against the pure engine
grenz policy diff <file>Replay a candidate against real history; show what changes
grenz policy shrinkwrapTighten allow lists to what was actually used
grenz explainWhy was that denied? Replays policy, budgets, schedules, grants, kill switch

Approvals

For anything under require_approval.

CommandWhat it does
grenz approvalsList what is waiting on you
grenz approve <id>Let it through
grenz deny <id>Refuse it

Cutting access off

The kill switch takes effect mid-flight, with no restart.

CommandWhat it does
grenz revoke <agent>Cut an agent off immediately, before any upstream call
grenz restore <agent>Lift a revocation
grenz revocationsList who is cut off
grenz rotate <agent>Mint a fresh GRENZ_TOKEN and rewrite its hash in grenz.yaml

Scoping further down

Narrowing an agent's reach, or widening it briefly and on purpose.

CommandWhat it does
grenz delegate <agent> --actions <a,b>Mint a sub-token with a strict subset of scope
grenz delegationsList live sub-tokens
grenz grant <agent> --actions <a,b>A time-boxed widening; never overrides an explicit deny
grenz grantsList active temporary grants
grenz decoy token <name>Plant a honeytoken; anything that presents it is cut off
grenz decoy upstream <name>Plant a decoy upstream; touching it is treated the same way
A credential value is never printed. vault list shows key names, doctor reports presence as a boolean, and approval prompts carry the action being gated — never the secret behind it.