oz0 policy duties set

Change the tenant's duty rules.

For: Operators and developers looking up a command.

Change the tenant's duty rules. --file replaces them all with a YAML or JSON file ("-" reads standard input):

duties: - name: pay functions: bank/bank.transfer, bank/bank.pay_* description: moves money out of the tenant's accounts - name: approve functions: erp/invoices.approve pairs: - duties: pay, approve action: refuse

--duty adds a duty or replaces the one of that name; --pair adds a pair or changes its action; --remove-duty removes a duty no pair names, and --remove-pair a pair. Every change takes a reason (--reason, or $OZ0_REASON). A change that loosens the rules waits for another admin while the tenant's four eyes is on.

The answer lists the pairs agents hold under the rules as saved: a refusing pair an agent holds already is refused at the edge, call by call.

Usage

oz0 policy duties set (--file FILE | --duty NAME [--functions ...] [--types ...] | --pair A,B [--action flag|refuse] | --remove-duty NAME | --remove-pair A,B) [flags]

Flags

FlagTypeDefaultDescription
--actionstringwith --pair: flag (the default) or refuse
--decision-refstringthe decision or case the change follows, such as a case number (at most 200 characters)
--descriptionstringwith --duty: what the duty is
--dutystringthe duty to add or replace, by name
--filestringa YAML or JSON file with the whole rules (- for standard input)
--functionsstringswith --duty: function patterns, <tool>.<function> or <plugin>/<tool>.<function>
--jsonboolprint JSON instead of a table
--pairstringthe pair to add or change: two duties, comma-separated
--reasonstringwhy, required for every governance change (at most 500 characters; default $OZ0_REASON); the audit log keeps it
--remove-dutystringthe duty to remove (no pair may name it)
--remove-pairstringthe pair to remove: two duties, comma-separated
--tenantstringdefaulttenant
--typesstringswith --duty: types of function it covers: read, write, sends-out, destructive, unknown

Inherited flags

FlagTypeDefaultDescription
--contextstring$OZ0_CONTEXT or <config dir>/orchestrator-zero/context.jsonCLI context file written by server init
--log-levelstringinfolog level: debug, info, warn or error

See all oz0 commands and the global flags.

On this page
Copyright © 2026