🚀 CodeBuddy Code v2.121.0 Release
📦 Version Information
| Component | Version |
|---|---|
| CodeBuddy Code CLI | v2.121.0 |
| Agent SDK JS | v0.3.213 |
| Agent SDK Python | v0.3.212 |
✨ New Features
Working Directory Management
Added the /api/v1/workspace-dirs REST API, supporting listing, adding, removing, and fully syncing additional working directories. The Web UI input toolbar now includes a working directory stack icon for visually adding/removing additional working directories. Additional working directory information is automatically injected into the Agent system prompt, allowing the model to be aware of the complete working scope.
Plugin Update & Marketplace Auto-Update
- Plugin Update Public API: Added
POST /api/v1/plugins/update, providing the ability to "update installed plugins to the latest version" via the public HTTP API. Supports specifying plugins, scope, and whether to wait for the update to take effect, serving as a prerequisite for client-side "suite auto-update" capabilities. - Marketplace Auto-Update Toggle: Added
POST /api/v1/plugins/marketplaces/auto-updateto enable/disable marketplace auto-update. When enabled, the backend periodically syncs the marketplace and upgrades installed plugins to the latest version.
Permission Mode Extension
ACP now supports Full Access and Delegate permission modes, providing more flexible permission control options.
🔧 Improvements
- Hooks Output Replacement: PostToolUse now supports replacing the output of all tools via
updatedToolOutput, making it easier to compress verbose results and reduce context usage. - Background Task Toggle: Added the environment variable
CODEBUDDY_CODE_DISABLE_BACKGROUND_TASKS. When enabled by the host, it hides the background execution parameters for Agent, Bash, and PowerShell, and falls back to synchronous/foreground execution, ensuring results always flow back to the main response and avoiding result loss in request-response SDK scenarios. - PTY Stability: Upgraded PTY underlying dependencies, incorporating a fix for file descriptor cleanup after PTY exit on macOS, improving terminal stability.
- Input Toolbar: Optimized the size of the Mode/Model selectors for a more compact layout.
- File Tree Loading Experience: Added delayed loading indicator for directory expansion, preventing flicker during fast loads.
🐛 Bug Fixes
- Empty Model Response Handling: Fixed an issue where a model that finished normally but returned no valid content would cause the conversation to be silently cancelled, with only a placeholder shown in the UI. This is now handled as a retryable error, with a clear prompt when the response remains empty, preventing the session from being stuck and unable to continue.
- --print stream-json False Error Report: Fixed an issue where in this mode, after a "tool not found" error was automatically recovered, the final result still incorrectly reported
is_error=true. Behavior is now consistent with interactive sessions. - Deferred Tool Parameter Stability: Added parameter structure hints for the target tool during retry rounds, reducing the likelihood of misgenerating complex fields such as arrays.
- AskUserQuestion Parameter Validation: When parameters are invalid, instead of silently returning an empty result, a pre-validation step now returns a readable error message, and a rendering fallback is added for question cards.
- ACP Message Timestamp Semantics: Restored the semantics of recording an independent timestamp for each message, preventing the completion time from being truncated by the first streaming chunk time.
- Log Flooding: Downgraded MCP deferred tool indexing diagnostic logs to debug level and removed per-tool hot-path log lines, preventing log files from growing to GB scale during long sessions.
- Linux Sandbox: Enabled the sandbox-cli backend in WorkBuddy Linux, using pipe mode for command execution.