π CodeBuddy Code v2.157.0 Release β
π¦ Version Information β
| Component | Version |
|---|---|
| CodeBuddy Code CLI | v2.157.0 |
| Agent SDK JS | v0.3.265 |
| Agent SDK Python | v0.3.264 |
β¨ New Features β
CLI White-Label Customization β
Supports customizing the software name, startup logo, brand colors, gateway and telemetry reporting endpoints, in-product links, built-in plugin marketplace, and configuration directory via customization.json, targeting dedicated-edition / on-premises delivery scenarios. Two package forms are provided: an npm package (offline tgz distribution) and a Bun single-file binary (customization configuration embedded at compile time, tamper-resistant). The upgrade strategy can disable auto-update per customer or point to a customer-hosted upgrade source. When the customized directory name differs from the official one, existing configuration and memory can still be read as a fallback.
Audio File Transcription Tool β
Added a built-in tool that transcribes local audio files into text with time ranges. It supports common formats such as wav / mp3 / m4a / flv / mp4 / wma / 3gp / amr / aac / ogg-opus / flac, with a per-file duration of β€5 hours and size of β€1GB, covering Chinese, English, and multiple dialects. The tool automatically uploads the audio, submits the transcription, and polls for results, so you do not need to provide a link or check progress yourself. Recognition failures, invalid files, or timeouts return a clear failure explanation. This is a billed tool; the host can enable a high-credit pre-confirmation (confirm this time / always allow in this session / deny), which is off by default and can be enabled via product configuration or environment variables.
Explorer File Transfer β
The Web UI Explorer now supports dragging local files directly into a specified directory to upload them, with real-time file count and byte progress. Directories can be downloaded as ZIP via the context menu, and you can open a terminal directly at the location of a file or directory without switching paths manually.
Output Styles Enhancements β
Added built-in output styles. You can switch directly with /output-style <style>, which writes to the project's local settings, and headless mode can list styles and mark the current one. Custom styles support user-level and nested project directories within a Git repository, with the same-named definition closest to the current working directory taking precedence. Plugin styles support independent force-for-plugin semantics. Foreground, internal, and background forks all inherit the current style, and non-default styles no longer wrongly inherit concise-output constraints.
Host Control Channel for Goals (/goal) β
The host UI can now immediately pause, resume, clear, or modify the conditions of a goal, and query a read-only snapshot of the current goal, without waiting for a conversation turn to finish. Goal state is also delivered to the host when there is no active turn (pause, clear, achieved) and when history replay finishes, so the status bar no longer gets stuck on an old state. Goal state can also be restored from snapshots and history after switching processes.
Server Host Integration Capabilities β
The Server reuses the existing Agent, SessionStore, and plugin loader, providing entry points for empty session creation, read-only history and directory, in-turn appending, compression, rollback, and next-turn component refresh. Requests support host Product, auth refresh, Hooks, custom tools, standard MCP transports, and session sandbox configuration, and subscription events have been added for tools, subtasks, configuration, directory, usage, and turns. In addition, Server startup no longer implicitly connects to the host's MCP configuration, avoiding duplicate MCP processes when embedded in a host.
Runtime Security Detection (Enterprise-Managed) β
Enterprise-managed clients now have runtime security detection at three points: prompts, before tool calls, and on tool results, supporting alerts, default-deny approvals, blocking, and local audit records. Local audits only record hit events: when user confirmation is required, two records are written ("detection verdict + user choice"); alerts and blocks each write one record, with the description containing the user's original instruction.
Other New Capabilities β
- stream-json context window selection: You can select a context budget supported by the model before the first message or while the session is running.
- Custom header passthrough extended to the ACP path: Clients can pass custom headers along with prompts to the official model gateway, sharing the same allowlist and gating policy as the stream-json / print path.
π§ Improvements β
- More accurate tool search: Optimized ToolSearch tokenization and ranking, improved recall for camelCase-named tools, and added a relevance floor to filter low-relevance results, significantly reducing irrelevant tools returned. The relevance floor can be adjusted via an environment variable.
- Task wrap-up prompts: After completing a task, remaining work or final verification requirements are prompted automatically, reducing premature endings before implementation, testing, or delivery. Duplicate tool calls that differ only in parameter key order are also detected.
- Scheduled task execution history management: Execution records support single and bulk deletion (running / queued records are protected). Each record shows the actual execution instance and associated session, and you can jump to the associated conversation to view the process. Charts support zoom, fit-to-view, and full-screen viewing.
- Clearer channel collaboration permissions: Derived sessions (subagents / forks / Agent Teams) can read the channel task board to avoid duplicate work, while board modifications are still performed only in the colleague's own main conversation. Speaking as a colleague also only takes effect in that colleague's own main conversation.
- Teams and subagents follow the session mode: After switching Agent Mode within a session, teammates and subagents run in the same mode. Subagent sandboxes are narrowed according to their own definitionsβonly narrowed, never widened.
- Subagent concurrency limit: By default, up to 20 subagents can run concurrently, adjustable via an environment variable. Slots are released automatically when they finish.
- Completion notifications and mode switching: Added Windows system notifications. In cloud / desktop-less environments, a prompt suggests using browser notifications instead, and the settings page shows the authorization status. The Solo / Group switcher in the sidebar is condensed into an icon only, and the entry point is retained while searching.
- Connection reuse and startup performance: Relaxed the idle keep-alive reclamation window of the ACP HTTP Server, restoring loopback connection reuse. Server startup timing supports host names and per-phase statistics.
- Leaner release artifacts: The full and headless artifacts no longer split lazy chunks, significantly reducing the number of distributed files and the complexity of chunk merging during upgrades.
- Relaxed Agent Home tool access: Processes are no longer required to carry the
--servefingerprint, so embedded Web UI, colleague jobs, and other forms can all access channel and collaboration tools. - Browser navigation integrated with security rules: Explicitly opening web pages and URL navigation in the built-in Browser MCP are now integrated with Security Center network rules and support asking the user for authorization.
- Task receipts: Agent Home supports per-item, batch-only, or disabled automatic completion receipts, while retaining channel events and the owner wrap-up flow.
π Bug Fixes β
- Model list no longer falls back to the old list: Fixed an issue in environments where credential reading is slow, such as containers and remote dev machines, where the
/modellist in a newly opened terminal degraded to the old list bundled with the package and the latest models were missing. - Main Agent mode lost after resuming long sessions: Session identity snapshots now self-heal (re-reading the file header on restore and periodically rewriting as history grows). Turning off multitask mode is now actually persisted, and enabling multitask midway no longer knocks the main Agent back to standard mode.
- More stable task titles: Titles that were generated or modified by the user are preserved after context compression, and system envelopes are no longer mistakenly used as titles. WorkBuddy task titles are generated automatically again, hidden system reminders are cleared consistently, and explicit user queries are prioritized when user input and background notification blocks coexist.
- Local multi-image conversations: Increased the ACP local HTTP request body limit, preventing send failures when many images are base64-encoded.
- Empty streams and failover: When the primary endpoint returns an empty stream, requests switch to the backup endpoint to avoid rapid repeated requests. Retries are restored when the upstream emits only thinking and then ends with an error. Background team members now fail and wrap up honestly when the model returns empty output, instead of being stuck in running state forever.
- Idle instances no longer hold memory for long periods: The reclamation criterion is tightened to "actually running", attach is retained only within 1 hour, and stale records converge to a terminal state after 24 hours idle, no longer showing "running" indefinitely.
- Memory usage in long tasks: Fixed an issue where Trace, caches, and truncated preview text still retained the full parent string, causing continuous memory growth and possible heap overflow.
- Team subtask authorization no longer spins: Tool approvals now write the accurate running state. If the same group of pending calls makes no progress, recovery is repeated at most 3 times before being blocked. Queued messages for subtasks in deferred dispatch mode now execute normally.
- Team teammate permissions and approvals: Teammates now inherit the leader's currently effective permission level. Teammates requiring approval forward the approval to the team lead and continue after the user responds. Startup argument parsing no longer treats "values" as "flags".
- Channel rotation wake-up and handoff: Fixed the wake-up queue breaking after a user message without @. When the relay reaches an unreachable member, the turn is handed off immediately. Nudges occur at fixed intervals, and the queue advances once the limit is reached. When a member process is absent, a red dot appears on the avatar with one-click restart support, and the channel explains why a round ended.
- Channel tool visibility and identity attribution: Channel speaking, task board, and direct message tools are visible to all Agent Home job agents. Speaking, board modifications, and direct messages require a real identity; when the identity cannot be recognized, the request is explicitly rejected instead of being sent on behalf of the user.
- Agent Home scope: After opening CodeBuddyS in the Web UI, new conversations opened in the terminal are no longer treated as Agent Home main conversations. Colleague identities are now registered persistently per session, so channel capabilities are no longer lost because the first turn did not complete the claim.
- Duplicate rendering of question and permission panels: Fixed an issue where, after answering a question, refreshing the page / switching sessions / reconnecting caused the same question to be rendered again and block the input box.
- WebUI channels and multiple sessions: Channel message bubbles are limited to reading width and wrap naturally. You can create and switch to a new conversation even while the previous conversation is still running, and late-arriving events no longer leak into the wrong conversation.
- Working directory crosstalk after switching agents: Each switch now re-determines the directory based on the current session, and switching back to the main conversation restores it immediately. Directory fallback consistently returns to the launch directory, and the description of "Add directory" is clearer.
- Session reliability and mobile display: Strengthened background process identity verification and recovery cleanup. Unified the display of thinking, tool calls, and run phases between Web and terminal. Fixed mobile safe area, dynamic viewport, Markdown table, and input area width issues.
- Workspace file rollback and renaming: Fixed file rollback failing when a historical session was cold-opened without first sending a message. Files renamed via Bash now correctly appear in the artifact rollback preview, and rollback restores the original path and removes the new path.
- Background subagents can be stopped together with the main Agent: Pressing Esc while the main Agent is running also cancels its background subagents, so you no longer need to enter each member view one by one.
- Terminal approval options can be confirmed normally: Fixed an infrequent issue where terminal approval options could be navigated with arrow keys but Enter and Esc had no effect.
- More complete Agent management directory: Fixed the Agent management directory missing definitions in symlinked or Windows junction subdirectories, so the listed results are consistent with what is loaded at runtime.
- Symlinked directories can be entered normally: The Web UI open-directory dialog now shows and enters valid directory symlinks. The file tree and browse list mark symlinks, while sandbox working directory boundary checks are preserved.
- Server session working directory and approval waits: Each session request runs in its own working directory, so when a single process serves multiple workspaces it no longer falls back to the host process's launch directory. Waiting for tool approval for more than 30 seconds no longer ends the turn prematurely; the turn continues until the continuation result or an explicit cancellation arrives.
- Other fixes: Scheduled task execution records no longer "come back to life". Skill command forwarding consistently recognizes command names with or without a slash. Context usage in the status bar only counts the latest request and is consistent with
/context. PTC mode correctly triggers Hooks when calling tools requiring approval in REPL. The tool discovery API no longer returns tools that do not actually exist in the sandbox. Failure to persist session history no longer terminates the running turn. Issues with the Daemon and auto-update, Server shutdown and lifecycle, sandbox and tool name mapping, and more have also been fixed.