Jeden/Docs

CLI command

jeden run

Run one concrete agent task through a durable Jeden conversation.

Exact invocation#

Shell
jeden run "task" [--json] [--model-only] [--cwd path] [--model name] [--max-tokens n] [--allow-write] [--allow-command] [--yolo|--auto-approve] [--max-steps n]

Inputs and options#

  • Required: a non-empty task after run.
  • --cwd, --model, --max-tokens, and --max-steps select the workspace, route, response budget, and step bound.
  • --allow-write and --allow-command grant those tool tiers; --yolo/--auto-approve grants both. --model-only suppresses tools and --json wraps local slash-command output where supported.

Output and state effect#

Records the original request durably before model access, then records acceptance requirements in a separate read-only conversation before execution. Every proposed final is independently checked against all retained tasks and original requests; incomplete actionable work continues automatically. The returned JSON includes completion with status, revision, requests, tasks and blockers. Model-only calls and Pursuit's independently owned stage reviews keep their own output contracts.

Refusals and boundaries#

  • A missing task is refused exactly as run requires a task.
  • A missing value for a valued option is refused (for example --model requires a value); non-integer token or step bounds are refused.
  • Model work fails closed when required router configuration or credentials are absent, and write or command tools remain approval-gated unless their tier was granted.
  • On macOS, a missing task sandbox helper is reported as jeden-sandbox-helper is not installed beside the Jeden executable; build and code-sign it or set JEDEN_TASK_SANDBOX_HELPER. Install the complete release, keeping its signed jeden-sandbox-helper beside jeden; the release SBOM and provenance identify both executables.
  • After a request is captured, a preparation failure is retained in the session transcript as run_error, with operation: prepare_turn and the original failure message. Inspect it with jeden show <session-id>. The same conversation path serves CLI and RPC; a recorded refusal is not successful execution and does not complete the retained request. Failures before conversation creation are not covered by this event. If writing the event also fails, the returned error names both failures.
  • A non-rate-limit HTTP failure from Brama includes its status, the requested API path, and the quoted response body. An empty quoted body means that the upstream server supplied no error detail; it is not a model answer. The CLI and RPC report the same failure.
  • An answer that arrives cut off or unreadable is not a failed invocation: the exact refusal goes back to the model once in the same turn, recorded as a contract_violation with rule model-answer. A second unusable answer ends the invocation and names what happened to the answer, for example model answer stopped mid-JSON after 191 bytes: a JSON string is never closed; the answer was cut off by the output budget of 48 tokens, and the retained request stays open.