- Improved resilience to transient model API errors: the agent now retries errors such as
503 Unavailablefor much longer with exponential backoff, so a brief service hiccup no longer aborts your session. - Improved sign-in and startup speed by reading your signed-in identity from the stored credential instead of making a network request on every launch and after browser consent; a failed identity lookup no longer prevents sign-in from completing, and the displayed plan tier no longer briefly disappears during startup.
- Improved headless (
-p) runs to exit promptly once the final answer is delivered: the CLI waits for running background tasks and scheduled timers to finish, bound by--print-timeout, and leaves daemon background tasks such as dev servers running instead of terminating them. - Improved failure reporting in headless (
-p) runs: fatal errors now appear on stderr with a stableerror:marker, a note is printed when the response may be truncated, and runs that previously ended silently with no output now explain why. - Improved headless (
-p) turnaround by cutting up to 200 ms of idle latency per turn and skipping the model call that generated a conversation title no one would see. - Improved tool approval prompts to say exactly what you are approving — for example
Run this command?,Allow access to this URL?, orAllow calling this tool?— with the command-editing shortcut offered only when a command is being approved, and aReason:line explaining why approval is being requested when it is not obvious, such as a hook flagging the action or a file belonging to a different project. - Improved model selection auditability: the CLI log now records whenever a model name you specify resolves to a different model, such as alias resolution,
--effortvariant selection, or replacement of a deprecated saved model. - Changed what happens when
--print-timeoutexpires mid-turn: the CLI now returns the partial output it has and exits successfully with a warning on stderr, instead of failing with a timeout error; interrupts such as Ctrl+C still exit non-zero. - Changed the default permission for fetching URLs from always allowed to asking first, so the agent now requests approval before reading a URL unless you have granted access.
- Fixed plugin reinstalls keeping files that had been deleted from the source: installing a plugin now replaces its managed directory exactly, installing a plugin from its own installed directory is refused instead of corrupting it, and uninstalling a plugin no longer leaves its enabled/disabled entry behind in
config.json. - Fixed MCP servers defined by plugins resolving relative or unset working directories against the wrong location; they now resolve against the plugin's own directory so plugin-bundled scripts run correctly.
- Fixed a startup race where subagents could fail to find tools from MCP servers that were still initializing.
- Fixed subagents sometimes appearing stuck in a running state after they had finished — especially in very large conversations — which also left queued when-idle messages undelivered until restart.
- Fixed a memory leak where every finished terminal command kept internal state alive for the rest of the session; long sessions that run many commands now use significantly less memory.
- Fixed headless (
-p) runs stalling forever on implementation-plan approval that no one could give; non-interactive runs now proceed through plan review automatically. - Fixed sign-in failing with a project access error after switching from a business account with a selected project to a personal account; stale business project and license details are now fully cleared on personal sign-in.