- Print mode (
-p/--print) now supports structured, machine-readable output via the--output-formatflag (text(default),json, orstream-json), so headless runs in CI, eval harnesses, and scripts can consume the CLI's output programmatically; these flags are now discoverable in--help. - Added the
stream-jsonoutput format: a strongly-typed NDJSON event stream that emits typedinit,step_update, and terminalresultevents with a stable, closed-vocabularystep_typediscriminator, so consumers receive progress incrementally instead of waiting for the whole run to finish. - Added the
--json-schemaflag to enforce a custom JSON schema on the structured output, accepting either an inline schema string or a path to a schema file; forstream-jsonthe schema applies to the finalresultevent. - Enriched the structured stream with a
tool_infoobject for each tool call (canonical tool name, parameters, and output) and asubagent_infopayload for delegated subagents (includingconversation_idandlog_uri) so consumers can correlate child trajectories. - The JSON usage object emitted by
jsonandstream-jsonnow reports token accounting includingcache_read_tokens, so non-interactive consumers can attribute prompt-cache hits. - Added a
copyOnSelectsetting (default on, toggleable in/settings) that controls whether releasing a mouse text-selection auto-copies it to the system clipboard in the TUI's altscreen rendering mode; disable it to stop the automatic copy on release — useful when the auto-copy is unwanted or corrupts certain payloads. - Improved compound-command permissions so an exact chained command (such as
git fetch && git rebase) can be saved as an allow-always rule and no longer re-prompts on the next identical run.