Reference

CLI reference

The command shape, policy sources, backend selection, streams and receipt outputs.

General form

CODE
maelys-warden [WARDEN OPTIONS] -- PROGRAM [ARGUMENT ...]

-- ends Warden option parsing. Everything after it is the workload argv. There is no legacy maelys-exec alias.

Policy source

Choose exactly one source:

OptionMeaning
--profile untrustedbuilt-in read-only workspace profile
--profile project-rwbuilt-in writable workspace profile
--policy-json FILEcompile strict source JSON in memory
--plan FILEload already-canonical MIR

--emit-mir FILE may be combined with a profile or JSON source to persist the exact canonical result. Serialization is optional; the same compiler runs in memory.

Execution options

OptionPurpose
--workspace DIRtrusted symbolic workspace root
--backend NAMEexplicit advanced override; never a fallback
--cwd DIRworking directory visible to the workload
--env NAME=VALUEexplicit environment entry
--receipt FILEexecution receipt JSON
--network-receipts FILENetd connection receipts JSONL
--network-frontend none|fd4|proxyselect the network delivery path

Exit status

When the workload executes, Warden returns its exit code. A signal termination is represented using the platform CLI convention. Errors before workload readiness return a Warden failure and the command is never executed.

Examples

CODE
# Seatbelt on Apple Silicon or Bubblewrap on Linux; no ambient network.
maelys-warden --profile untrusted -- codex

# Writable project and arguments for the workload.
maelys-warden --profile project-rw -- npm test -- --runInBand

# Canonical MIR already reviewed offline.
maelys-warden --plan policy.mir --receipt run.json -- ./build/tool --check

# Unmodified HTTP client through the Netd frontend.
maelys-warden --policy-json github-mediated.json \
  --network-frontend proxy -- curl https://github.com/