Repository navigation
CLI 0.2.20 — Pi runs finish or explain
Pi agent runs wait through Pi's own transient-provider retry instead of ending at an intermediate agent_end (PR #243; SDK #57). The same session and completed tool steps survive the retry. A started --json run that returns or throws with no terminal event emits run_incomplete/run_exception rather than a silent success; late preflight refusals remain stderr-only. A Pi process exit during retry includes the prior cause and conversation id in pi_exit; this changes the pi_exit message text from raw stderr to contextual prose, not its error_type. A cancelled agent run keeps its cancelled event and run-record status but now exits 1, detectable with run.cancelled-nonzero. Completed Pi turns report token usage and cost. New capabilities: pi.retry-terminal, run.terminal-error, run.cancelled-nonzero. External SIGKILL/closed pipes and a hung Pi process remain outside the event guarantee. Batch 17 extension-path, browser-search, duplicate-Agreement and fetch reach follow-ups remain separate.