#3262·claw-code

Add structured (JSON) output for tool/agent integration

Author: dndunguCreated Jun 24, 2026Updated Jul 28, 2026

What

A machine-readable output mode for claw -- a --json (or --format json) flag that emits a structured final result instead of (or alongside) raw stdout.

Ideally:

  • a single final JSON envelope with at least: the result/assistant text, an exit/outcome status, and token usage + cost when available; and/or
  • a newline-delimited JSON (NDJSON) event stream for progress, terminated by the final result object (the shape codex exec --json and opencode run --format json already use).

Why

Tools that drive a coding agent as a non-interactive subprocess need machine-parseable output to integrate it reliably. kazi (an open-source reconciliation controller that drives a coding agent in a loop until a goal's predicates are objectively true) supports multiple harnesses as config-driven profiles -- claude, opencode, codex, and others -- by parsing each harness's structured output for the result and token/cost usage.

Because claw currently emits only raw stdout with no structured envelope, its integration is necessarily best-effort: the raw text can be captured as the result, but there is no reliable way to extract the outcome status or token/cost. A --json mode would let claw be driven as a first-class, cost-accountable harness the same way codex/opencode are.

Suggested shape (for reference)

claw <prompt> --json
# -> {"result": "...", "status": "ok", "usage": {"input_tokens": N, "output_tokens": M, "cost_usd": X}}

Matching the codex/opencode NDJSON convention would let existing parsers be reused. Happy to share how the kazi profile contract works if useful. Thanks!