agents command group is the CLI surface for creating, editing, and attaching resources to Agent blocks.
Every agents subcommand operates on the active Flow. Pin with nora flows use <slug> or override with --flow.
Commands
agents create
Create flags
The command prints the new Agent’s ID: save it for subsequent
update/sources calls.
agents update
--set-* flags. Only fields you pass change; the rest stay as they were.
Update flags: grouped
Identity & content--set-name <n>: display name.--set-description <d>: description.--set-prompt <text>: inline prompt (replaces).--set-prompt-file <path>: prompt from file (replaces).
--set-model <m>: primary model.--set-mode <mode>:api/internal/sdk/local.--set-dispatch <mode>:parallel/conditional/routed.--set-image-model <m>: model for image inputs.--set-voice-model <m>: model for voice inputs.--set-image-output-model <m>: model for image outputs.--set-voice-output-model <m>: model for voice outputs.
--set-max-turns <n>: tool-call round-trip cap.--set-max-tokens <n>: token cap per run.--set-max-cost <usd>: dollar cap per run.--set-memory-max-cost <usd>: dollar cap for memory ops per run.
--mark-trigger/--unmark-trigger: designate this Agent as the trigger entry.
--set-output-target <target>: where the Agent’s answer flows to downstream.
--set-approval on|off: require approval on output.--set-route-approval on|off: require approval on routing decisions.--set-cost-approval <usd>|off: require approval when a single run exceeds this dollar cost.
--set-force-fresh-context true|false: clear prior context each turn.--set-fuse-optout true|false: opt out of retrieval fusion (use single source).--set-output-rules <JSON|@file|-|null>: deterministic post-processing rules applied after the LLM writes.nullclears the field.--set-retry <JSON|@file|-|null>: retry policy for LLM / tool failures ({ "maxAttempts": 3, "backoffMs": 1000, ... }).nullclears.
--set-x <n>,--set-y <n>,--set-width <n>.
--patch <json>: arbitrary JSON patch to merge in. Advanced use; conflicts with other--set-*flags for the same field.
nora agents update --help prints the current full list.
agents edit
$EDITOR (default: vi). On save, the CLI applies the diff via update.
Best when you want to change several fields at once: often faster than chaining a dozen --set-* flags.
agents delete
--yes is passed.
agents lock / agents unlock
{"locked": false} ceremony. Same lock semantics apply across agents, tools, actions, and triggers.
agents sources: attach data
Data sources are what the Agent can retrieve from at inference. Each attachment specifies a source kind, an ID, and optional retrieval preset.
List
Attach
--kind(required):kg/vector/documents_folder/documents_file/memory.--source-id(required): collection slug, folder tag, memory space ID, etc.--preset <preset-id>: retrieval preset (seenora retrieval presets list).--method <mode>:vector/keyword/hybrid/kg_only.--modes <m1,m2>: additional retrieval modes.--exclude-doc <id,…>: exclude specific documents.
Update
--set-preset,--set-method,--set-modes.--set-exclude-doc-ids <ids>: replace the exclusion list.--add-exclude-doc <id>: append one.--remove-exclude-doc <id>: drop one.
Detach
agents memories: attach memory spaces
Memory attachments are separate from sources. Same shape.
List / attach / detach
Bind a retrieval preset to a memory space
agents tools: per-attachment policy
The same Tool block can be wired into several agents. Each agent can carry its own budget and failure-handling policy for that attachment. The block’s own defaults still apply where the agent leaves a field blank.
List effective policy
from marker: "attachment" / "block" / "default" so you can tell where the value actually comes from.
Set / update policy
--tool-block-id <id>(required): the tool block whose attachment to edit.--max-calls <n>: calls allowed per agent run (not per turn).--on-failure <fail|skip>: halt the agent or drop the tool call and continue.--max-attempts <n>: retry budget per call.--max-cost-usd <n>: spend ceiling for this attachment.
--on-failure "") clears that single field back to the block default. To wipe the whole override, use clear-policy instead.