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.
| Command | What it does |
|---|---|
grenz init | Scaffold a home: identity, vault, config, policy, first token |
grenz doctor | Offline preflight — config, vault, policy, credentials, port. Exits 1 on problems |
grenz run | Start the proxy |
grenz run --shadow | Evaluate policy without enforcing it; log what would have been blocked |
grenz vault set <key> | Store a credential, value read from stdin |
grenz vault list | List credential keys — names only, never values |
Policy
Policies are code. These are the tools you would want for code.
| Command | What it does |
|---|---|
grenz policy check | Validate and summarize |
grenz policy lint | Flag dead patterns, shadowed rules, grants broader than they look |
grenz policy test | Assert (tool, action, target) → decision against the pure engine |
grenz policy diff <file> | Replay a candidate against real history; show what changes |
grenz policy shrinkwrap | Tighten allow lists to what was actually used |
grenz explain | Why was that denied? Replays policy, budgets, schedules, grants, kill switch |
Approvals
For anything under require_approval.
| Command | What it does |
|---|---|
grenz approvals | List 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.
| Command | What it does |
|---|---|
grenz revoke <agent> | Cut an agent off immediately, before any upstream call |
grenz restore <agent> | Lift a revocation |
grenz revocations | List 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.
| Command | What it does |
|---|---|
grenz delegate <agent> --actions <a,b> | Mint a sub-token with a strict subset of scope |
grenz delegations | List live sub-tokens |
grenz grant <agent> --actions <a,b> | A time-boxed widening; never overrides an explicit deny |
grenz grants | List 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.