This release adds an opt-in sudo askpass flow for shell commands, a headless embedded chat session API, and several bug fixes for cost accounting, session handling, and custom provider model resolution.
What's New
- Adds opt-in
sudo_askpass: trueflag to theshelltoolset, bridgingsudopassword prompts to the agent's elicitation flow instead of hanging until timeout - Adds
pkg/embeddedchat, a headless chat session API for embedding docker-agent runtime conversations in non-docker-agent UIs, with support for streaming events, tool call confirmation, conversation restart, and cancellation - Makes OpenAI, Anthropic, Google, and Amazon Bedrock providers optional via build tags, allowing embedders to drop unneeded providers and reduce binary size
Improvements
- Replaces the bleve full-text search library with a lightweight pure-Go BM25 matcher for model routing, removing a large transitive dependency tree and enabling WebAssembly cross-compilation
Bug Fixes
- Fixes duplicate
tool_resultblocks for the sametool_call_idbeing passed to strict providers such as AWS Bedrock - Fixes custom providers (defined with
base_url+token_key) triggering a blocking fetch of the full models.dev catalog (~3.4 MB) on every turn in internet-restricted environments - Fixes reasoning tokens from streaming usage not being recorded for Anthropic extended-thinking models
- Fixes
run_background_agentsub-sessions not being persisted to the store - Adds a warning when an uncatalogued model bills $0 with token usage
- Fixes the Shift+Tab thinking-level cycle in the TUI not offering the
maxeffort tier on Claude models that support it (Opus 4.7/4.8, Sonnet 4.6, Fable 5)
Technical Changes
- Replaces external
go-memoizeandgo-cachelibraries with a new internalpkg/memoizepackage built ongolang.org/x/sync/singleflight - Makes the RAG toolset opt-in to remove the cgo dependency on go-tree-sitter from the default build
- Documents YAML anchors, aliases, and merge keys support in the configuration overview
- Documents the 10-second per-toolset tool-listing timeout for wedged MCP servers in the troubleshooting guide
What's Changed
- docs: update CHANGELOG.md for v1.82.0 by @docker-read-write[bot] in #3161
- docs: document startup tool-listing timeout for wedged MCP servers by @aheritier in #3166
- fix(modelsdev): skip models.dev fetch for custom providers (#3165) by @Sayt-0 in #3169
- feat(embeddedchat): add headless chat session API by @dgageot in #3171
- chore: bump direct Go dependencies by @dgageot in #3170
- refactor: replace go-memoize and go-cache with internal memoize package by @dgageot in #3172
- fix(runtime): close cost-accounting blind spots (reasoning tokens, $0 spend leaks) by @dgageot in #3173
- feat(shell): opt-in sudo askpass flow (#1551) by @Sayt-0 in #3163
- fix(session): drop duplicate tool results in sanitizeToolCalls by @Sayt-0 in #3162
- refactor(rag): make the rag toolset opt-in to drop cgo from embedders by @dgageot in #3174
- docs: document YAML anchors, aliases and merge keys by @Sayt-0 in #3175
- feat(provider): make openai, anthropic, google, and amazon-bedrock optional by @dgageot in #3176
- refactor: replace bleve with lightweight BM25 matcher for model routing by @dgageot in #3177
- fix(modelinfo): offer the max effort tier in the Shift+Tab thinking cycle by @Sayt-0 in #3178
Full Changelog: v1.82.0...v1.83.0