π CodeBuddy Code v2.139.0 Release β
π¦ Version Information β
| Component | Version |
|---|---|
| CodeBuddy Code CLI | v2.139.0 |
| Agent SDK JS | v0.3.246 |
| Agent SDK Python | v0.3.245 |
β¨ New Features β
Structured Input Request Tool β
The new AskUserForStructuredInput tool lets the model send explanatory text and a JSON schema to the client, where the UI renders a form to collect your structured response. It is ideal for scenarios that do not fit into a single question and answer, such as completing multiple fields at once or authorizing multiple connections one by one. The tool is disabled by default and requires both an environment variable and a client capability declaration to enable it. The built-in Web UI now includes a corresponding form card.
π§ Improvements β
- Smarter REPL authorization: REPL code execution no longer requires manual approval every time. In auto mode, the model reads the code and decides whether to allow or block it. In standard mode, allow rules and βAllow for this sessionβ can bypass approval. Dangerous commands within REPL, such as
rm -rfor force-pushing the main branch, and access to sensitive files are still blocked - Clearer REPL progress display: Foreground execution now uses a single aggregated progress line instead of a repeatedly resetting timer. When execution finishes, the total duration appears on the first result line, and
ctrl+oexpands the full output. Invocation lines now show only the code itself for a cleaner interface - Truly interruption-free sandbox mode: When
CODEBUDDY_IS_SANDBOX=1is set,-ycan skip high-level approvals, making it suitable for automated environments such as sandboxes - More reliable marketplace installation: The built-in plugin marketplace now uses ZIP distribution for faster, more reliable installation and updates. If the marketplace URL is unreachable, the CLI fails within 10 seconds instead of hanging
- Downloadable files in the workspace: The current file can now be saved locally from the editor, preview, or file tree
π Bug Fixes β
- Background task notifications are no longer lost: Fixed an issue where occasional loss of the task-completion signal prevented notifications from being delivered and left conversations stuck. The system now periodically verifies actual task state and restores missing notifications within seconds. Manually stopped tasks are correctly shown as βStopped,β and unknown exit codes are clearly identified
- Conversation no longer gets stuck after an occasional 400 response: Fixed race conditions between background notifications and queued-message continuation that could send malformed requests rejected by the gateway and leave the conversation stuck
- Lower memory usage in long conversations: Fixed listener accumulation that caused memory leaks over time. Token estimation no longer repeatedly copies the entire history, and peak memory usage during the first save of long forked or team conversations has been significantly reduced
- More reliable plugin initialization: Plugin initialization no longer hangs indefinitely during concurrent multi-process access or network failures. Invalid caches are cleaned up automatically, and valid caches are no longer repeatedly migrated or overwritten
- Smoother subagent restoration: Opening an existing subagent no longer briefly shows a blank page. A model selected for a subagent persists after restart, and blank sessions also remember the last selected model
- Fault-tolerant history replay: A malformed history record no longer prevents the entire history from opening. Invalid records are safely skipped while the remaining content is displayed normally
- Other fixes: Sandbox sessions no longer leave running tools hanging after disconnection; the search dropdown on the new-session page no longer blocks the input; and Web UI branch switching no longer fails on Git lock conflicts, instead showing a clear message and retry action
π Documentation Updates β
- Added documentation for the
AskUserForStructuredInputtool todocs/tools-reference.md. - Added documentation for the
CODEBUDDY_ENABLE_ASK_USER_FOR_STRUCTURED_INPUTenvironment variable todocs/env-vars.md.