--human, NAIVE_HUMAN=1, or
naive config output human.
Create & manage
list and show render status, next_wake_at, wakes, attention and
blocked_reason from the agent record, and nothing in the runtime writes those
columns back — so they read idle / null / 0 / false / null on every
agent, awake or not. What an agent is actually doing lives on the board
(naive agents tasks <id>) and in the log (naive agents logs <id>).--max-task-usd defaults to
a tenth of --budget-usd. --model must be a pinned slug — an alias is
refused. create needs a child project selected first (naive use <user-id>) —
without one the API answers invalid_input.
update takes every create flag plus --paused / --no-paused:
--paused is a hold on execution: no wake is armed, no schedule fires, and a
task you send is still accepted and still queued — it waits for --no-paused.
It does not abort a slice already running; that is naive agents cancel.
list filters on --status idle|running|blocked|braked|stopped, --limit,
--cursor — but the agent-level status column is a mirror nothing writes to,
so every agent is idle and --status running returns nothing. Use
naive agents tasks <id> --status … for real state.
Send work
--window on job / run takes all three values. An earlier release accepted
--window standard on a task, stored it and echoed it back as asap; the
runtime narrowed the inbound window with a two-way test written when there were
two windows, and it now narrows against the platform’s window table.It is not the same knob as create --window. On a task the value selects the
tier the call is priced at. The run’s fan-out, sub-agent width and batch hint
come from the agent’s window and only from there, because the run manifest
declares one strategy before its first turn.Omitting --window inherits the agent’s configured window — it does not
fall back to asap. The CLI simply sends no field, and the runtime resolves it
against the agent. An earlier release did read an omitted window as asap; that
changed. Pass the flag only when one task needs a tier other than its agent’s.The board
🔴
naive agents task exits 3 when the task’s terminal state is not success —
not 1. Exit 1 means the command failed; exit 3 means the command worked and
the work did not. A CI step can tell those apart without parsing anything.The event log
--after is a position, never a time. Replay is strictly greater, so a
resume loses nothing and duplicates nothing. If your offset has aged out past the
20,000-row retention floor you are told, rather than silently skipped:
--show-args prints tool arguments in full instead of a digest and refuses to
run in a pipe — a full-argument dump of a sandbox run contains file contents.
Spend
Deliverables
Inbound webhooks
Output & exit codes
Machine JSON is the default, so nothing has to detect a pipe to be safe.--human (or NAIVE_HUMAN=1, or naive config output human) switches to
rendered output; --json forces machine output back even when human mode is
configured.