This release overhauls the TUI with a redesigned Agents panel, Agent Inspector, configurable keybindings, and image rendering in the lean TUI, plus fixes for provider thinking-budget leaks and OTLP trace export compatibility.
What's New
- Adds clearer thinking-state vocabulary in the TUI: effort gauge (6-cell), updated labels (
adaptive→auto), and token budget display - Redesigns the TUI sidebar Agents panel with a focus card and compact roster layout
- Adds a right-click Agent Inspector showing live and configured agent details
- Labels the delegation spinner with
parent → childfor at-a-glance readability - Adds configurable keybindings via
~/.config/cagent/config.yaml, including remappable send/newline keys (resolvesCtrl+Jconflict in VS Code and tmux) - Allows embedders to register custom tool renderers keyed by tool name or category, with built-in renderers as fallback
- Adds a pluggable
Storageinterface to theplantoolset (parity with thetodotoolset), with a default filesystem backend and per-instance construction - Appends OTLP signal path so trace export works with generic base-path backends such as Langfuse and LangSmith
- Renders images in the lean TUI using the Kitty protocol and reuses existing tool call renderers
Bug Fixes
- Fixes
CloneWithOptions(..., WithNoThinking())leaking the provider-levelthinking_budget, which caused short-budget callers (e.g., session-title generation, summaries) to fail
What's Changed
- docs: update CHANGELOG.md for v1.87.0 by @docker-read-write[bot] in #3236
- feat(plan): add pluggable Storage interface (parity with todo toolset) by @Sayt-0 in #3239
- fix(provider): WithNoThinking clone no longer leaks provider-level thinking_budget by @trungutt in #3238
- Let embedders register custom tool renderers by @EronWright in #3202
- feat(tui): live status + labeled spinner for delegation (#3101) by @aheritier in #3115
- feat(tui): readable thinking state, redesigned Agents panel, and Agent Inspector by @aheritier in #3108
- feat(tui): configurable keybindings (Shift+Enter / Ctrl+J newline alternative) by @Sayt-0 in #3204
- feat(otel): append OTLP signal path so Langfuse and LangSmith work by @Sayt-0 in #3240
- test(teamloader): wire test provider registry in agent config retention test by @aheritier in #3242
- Lean TUI tool renderers by @rumpl in #3243
Full Changelog: v1.87.0...v1.88.0