Skip to content

πŸš€ CodeBuddy Code v2.167.0 Release ​

πŸ“¦ Version Information ​

ComponentVersion
CodeBuddy Code CLIv2.167.0
Agent SDK JSv0.3.279
Agent SDK Pythonv0.3.278

✨ New Features ​

Full-Page Mod Apps and Desktop Capabilities ​

Mods can now register full-page apps, whose entries appear at the very top of the Web UI's left navigation. The same page can be opened in CodeBuddy Desktop as a standalone window or a pinned global floating window, and can register global shortcuts, which are released automatically when the mod is disabled or the page is refreshed. Mods can also use common React component libraries that rely on portals. Built-in Web mods drop the codebuddy- prefix, and the easter egg mod has been renamed brawler.

Workbench Browser ​

The "+" menu in the right-side workbench adds a "Browser" option: you can open a new blank tab and manually enter a URL in the address bar (the protocol is completed automatically, and local development addresses such as localhost are supported), with Back, Forward, Refresh, Stop, and Open in External Browser controls. In CodeBuddy Desktop, you can also directly open sites that forbid embedding and sign in to them, and the address and tab title sync automatically after navigation. Web pages run in a separate isolated environment and cannot access local machine or app capabilities. When a page that forbids embedding is opened in a regular browser, you are prompted to open it in CodeBuddy Desktop instead.

Key Session Context Preserved After Compaction ​

Added compaction recovery for dynamic session context: after compaction, the last instance in history of tags such as identity, mode, and connector status is extracted in a fixed order and restored, preventing this context from being lost when continuing a long session after compaction. For mode tags, only the latest instance is kept, to avoid restoring conflicting instructions at the same time.

Cloud Long-Term Memory Tools (WorkBuddy Desktop) ​

When running in WorkBuddy Desktop, the new MemAnswer and MemCurate tools are available: the former recalls the current user's cloud long-term memory from a natural-language question, with up to 5 sources attached; the latter submits user information worth keeping across sessions to cloud memory (if the content is too long, it prompts to condense or split it). Acceptance of a submission does not mean it has been remembered, and the tool result explicitly reminds the model not to tell the user that the memory has been saved. These two tools are not enabled in other host environments.

πŸ”§ Improvements ​

  • Startup and directory scanning overhead: Reduced repeated reads of parent directory metadata within a single Skills scan, merged duplicate IO between plugin command and Skills loading, and reduced the dependency loading borne by Harness cold start and the first directory query, making startup lighter.
  • Streamlined Web UI tool set: Web UI sessions no longer provide the Agent with the two delegated tools for page querying and page operations, so the corresponding tool calls no longer appear in conversations.
  • Regression safeguards: Improved the stability of cross-platform end-to-end tests, strengthened real-path regression verification for the terminal, Web UI, SDK, and protocol integrations, and added coverage for terminal login, environment authentication, and automatic permission scenarios.

πŸ› Bug Fixes ​

  • Channel messages and main Agent mode: Fixed turns triggered when messages pushed by WeCom / WeChat remote control or an MCP channel wake a session under PTC, Creator, or custom main Agent modes running in standard mode and losing Creator's appended instructions and the custom preset body. Also fixed each channel message wake-up attaching an extra listener to the shared agent, and the end of another session prematurely restoring this session's permission mode.
  • Persisted scheduled tasks use the main Agent: Fixed persisted scheduled tasks always running in standard mode when triggered. They now use the main Agent mode currently in use by the session (PTC, Creator, custom main Agent, and so on), and the next trigger follows any mode switch.
  • Unreachable session MCP servers no longer break the whole turn: Session plugin .mcp.json servers and inline MCP servers declared by subagents used to connect sequentially, each waiting a full 60 seconds, so a single unreachable server could leave the host waiting for the conversation to be accepted and report "Network request timed out". They now connect in parallel, with the connection timeout taken in order from the server's timeout, the MCP_TIMEOUT environment variable, or a default of 30 seconds. An unreachable server only lacks its own tools, and the turn proceeds as usual.
  • Terminal pasted content no longer lost: Fixed pasted content being reduced to a placeholder and no longer sent as command arguments when pasting a large block of text or an image in the terminal and then returning to the start of the line to select a /command from the completion menu.
  • A2A tracing: Fixed A2AGetTask polling and A2ACancelTask not propagating tracing information, which caused query and cancel requests for the same remote task to produce separate traces.
  • Code Mode tools mistakenly called directly: When the model calls tools such as file read/write or channel posting as direct tool calls in Code Mode, a "please call it in the REPL" hint is now returned in that turn while other calls in the same turn proceed normally, instead of the whole turn failing and being retried automatically.
  • Permission mode preserved across daemon restarts: Fixed the twin (main session) being reset to the default permission mode after the daemon restarts.
  • Thinking-only messages with local models: Fixed subsequent conversations possibly failing when the history contains thinking-only messages.
  • Startup log scope: During normal startup, loading details for auto-discovered Mods are no longer printed to the startup screen. Mods explicitly specified via --plugin-dir still keep their load and failure reports.
  • Plugin cache and installation concurrency: Fixed plugin cache cleanup and installation running concurrently at startup, which could delete the staging directory and cause occasional installation failures.
  • Hidden task reminders removed: Removed the task list reminders automatically injected while long tasks run, to avoid their side effects. Task tools and the task list display in the terminal are unaffected, and reminder content already saved in old sessions is not cleaned up.
  • Server file system adapter: Fixed type compatibility of the Server file system adapter interface with bigint file identifiers, and references to private core package subpaths in published type declarations.
  • Web UI stops in sync when a question is canceled in the terminal: Fixed the embedded Web UI opened at the same time continuing to show "Thinking" after a conversation started in the terminal had its question canceled by the user pressing ESC in the terminal.
  • WeCom bot connection lock: Fixed a newly opened CBC automatically connecting to the same WeCom bot and kicking the still-running old process offline. Auto-connect now checks a cross-process connection lock first and yields when the bot is being served by another live process; only manual connection takes over. If the holding process has exited, the lock is treated as stale and a new process can take over normally.
  • Image position: Images in user messages are now consistently placed after the user's query text, following the agreed content order.