Release notes

FEATURE

Automatic Subagent Guidance and Roster Injection for Markdown Custom Agents

When customizing project AI agents in Markdown files, agents can now collaborate and divide work more intelligently.

When you define custom agents in Markdown format and include the invoke_subagent tool in their tool list, this new mechanism automatically injects the currently available subagent roster and detailed usage guidance into that agent's system prompt. Custom agents can now reliably delegate to their declared subagents based on the roster, rather than failing to divide work due to missing instructions.

FEATURE

Background Tasks Retain Original Names in Notifications and Lists Instead of Displaying Generic Identifiers

Keeping track of progress is now much more intuitive when sending long-running, heavy commands to run in the background. Previously, when assigning work to run in the background, the system often replaced the task name with an auto-generated generic identifier, making it hard to tell at a glance which job had finished running. The background task naming mechanism has now been improved so that tasks fully retain their originally given custom names when moved to the background. Whether in completion notifications popping up in the terminal or in queryable background task lists, the original task name is now clearly displayed, allowing you to accurately cross-reference each operation.

BUGFIX

Automatic Sign-Out and Cleanup on Rejected Credentials While Preserving Sessions During Transient Network Failures

Managing sign-in status during account permission changes or network fluctuations is now significantly more accurate and reliable.

Previously, when situations like enterprise account revocations or invalidations occurred and the sign-in server definitively rejected the identity, stale sign-in credentials could still linger locally. The CLI tool now automatically signs you out and clears stale tokens so you can sign in again cleanly. Meanwhile, if transient network connection failures, server errors, or request rate limits occur, the system will never accidentally drop your session, ensuring operations remain uninterrupted.

BUGFIX

Commands Terminated by External Signals Correctly Marked as Canceled with Remote Sessions Syncing Interruption Hints

Recording cancellation and interruption states is now more accurate when running commands in the terminal or operating across connected sessions. Previously, when a running command was terminated by an external signal (such as when the entire session shut down mid-run), the system erroneously recorded it as a successful execution with exit code 0. Such commands are now properly marked as canceled while fully preserving the output logs collected before the interruption. In addition, whereas the Interrupted hint previously only appeared when pressing the Esc key locally in the terminal, it now faithfully displays on screen whenever the current turn is actually canceled, including when stopped from a connected remote session.

BUGFIX

Terminal Resizing Automatically Re-wraps Text and Resolves Frozen In-Progress Thinking Frames

Layout and status presentation are now much smoother when freely resizing the terminal window or reloading conversations. Previously, after resizing the terminal window, Markdown text in the artifact viewer remained stuck at its original width without re-wrapping automatically. Furthermore, in-progress thinking frames in conversation history would sometimes freeze permanently—such as staying stuck forever at Thinking... (31s)—without recovering even after resizing the window or reloading the session. Both interface display issues are now resolved: text content automatically re-wraps to fit the new window dimensions, and thinking frames update progress normally.

Original changelog

Original changelogAutomatic Subagent Guidance and Roster Injection for Markdown Custom Agents
Added automatic subagent guidance for custom agents defined in Markdown: agents that list `invoke_subagent` in their tools now receive the roster of available subagents and usage instructions in their system prompt, so they can actually delegate to the subagents they declared.
Original changelogBackground Tasks Retain Original Names in Notifications and Lists Instead of Displaying Generic Identifiers
Improved background task naming so a task keeps the name it was given when sent to the background; completion notifications and task lists now show that name instead of a generic auto-derived one.
Original changelogAutomatic Sign-Out and Cleanup on Rejected Credentials While Preserving Sessions During Transient Network Failures
Fixed stale credentials lingering after the sign-in server definitively rejects them (for example a revoked or invalidated enterprise account); the CLI now signs you out and clears the stale tokens so you can sign in again cleanly, while temporary network failures, server errors, and rate limits never cost you your session.
Original changelogCommands Terminated by External Signals Correctly Marked as Canceled with Remote Sessions Syncing Interruption Hints
Fixed commands killed by an outside signal (for example when the whole session shuts down mid-run) being recorded as successful runs with exit code 0; such commands now finish as canceled while keeping the output collected before the interruption.
Fixed the `Interrupted` hint only appearing when Esc was pressed locally in the terminal; it now appears whenever the current turn is actually cancelled, including when it is stopped from a connected remote session.
Original changelogTerminal Resizing Automatically Re-wraps Text and Resolves Frozen In-Progress Thinking Frames
Fixed the artifact viewer leaving markdown text stuck at its original width after a terminal resize; content now re-wraps to the new window size.
Fixed in-progress thinking frames occasionally freezing permanently in the conversation history (for example showing `Thinking... (31s)` forever), including after a terminal resize or session reload.