github docker/docker-agent v1.87.0

6 hours ago

This release adds shared toolsets, a new plan builtin toolset for multi-agent collaboration, and a readonly attribute for toolsets and agents, alongside several MCP OAuth reliability fixes and improvements to attachment forwarding and deterministic prompt ordering.

What's New

  • Adds a top-level toolsets map to the config schema, allowing toolset definitions to be shared and referenced by name from any agent via a new use_toolsets field
  • Adds a plan builtin toolset that provides agents a shared, persistent scratchpad (write_plan, read_plan, and related tools) for multi-agent collaboration across turns
  • Adds a readonly boolean attribute to both Toolset and AgentConfig, restricting agents or toolsets to read-only tools when set
  • Adds styles.RegisterBuiltinThemes(fsys fs.FS) for Go SDK embedders to contribute additional built-in themes from a filesystem
  • Adds SessionID to ErrorEvent and session-aware constructors so isRootEvent correctly filters child-session errors

Bug Fixes

  • Fixes image and PDF attachments being silently dropped for DMR-hosted models that are absent from the models.dev catalog
  • Fixes MCP OAuth auto-recovery: a server-side 401 invalid_token rejection now evicts and refreshes the token instead of burning all reconnect attempts and entering StateFailed
  • Fixes a retry storm on permanent OAuth reconnect errors in MCP
  • Fixes non-interactive sessions stalling silently when an OAuth-protected MCP server has no cached token; now fails fast with an error
  • Fixes BuildAuthorizationURL incorrectly appending a second ? when the OAuth authorization endpoint already contains a query string
  • Fixes eval runs failing with unknown provider type "anthropic" by building the judge model from the populated provider registry
  • Fixes a TUI dialog being silently dropped when a nested sub-agent stream started in the same session, leaving the run blocked on user input
  • Fixes non-deterministic prompt ordering in ScriptToolSet by sorting shellTools and tool.Args keys before iteration, preventing Anthropic prompt-cache misses
  • Fixes provider registry being empty for RAG toolsets and other code paths after an earlier refactor emptied the default registry
  • Fixes a compile error caused by a call site using the old unexported name interactivePromptsAllowed after it was renamed to InteractivePromptsAllowed

Technical Changes

  • Converts bug and feature GitHub issue templates from markdown to issue forms (.yml)
  • Makes registered theme precedence last-wins, using slices.Backward for iteration
  • Surfaces re-auth notices and ensures background MCP OAuth reconnects are non-interactive

What's Changed

  • docs: update CHANGELOG.md for v1.86.0 by @docker-read-write[bot] in #3212
  • Let embedders register built-in themes via RegisterBuiltinThemes by @EronWright in #3182
  • docs: update API server, CLI, DMR provider, and Go SDK for PRs #3199 #3201 #3206 #3182 by @aheritier in #3215
  • docs: add Snapshots feature page by @dgageot in #3218
  • fix(eval): build judge model from the populated provider registry by @Sayt-0 in #3222
  • chore: bump docker-agent-action to v2.0.1 by @docker-agent in #3214
  • fix: forward image and PDF attachments for DMR models by @Sayt-0 in #3197
  • fix(mcp): auto-recover remote MCP OAuth on server-side invalid_token by @aheritier in #3207
  • chore: convert bug/feature issue templates to issue forms by @aheritier in #3134
  • fix(tui): keep pending dialog when a nested sub-agent stream starts by @aheritier in #3221
  • fix: restore provider registry after cf5a430 emptied the default by @dgageot in #3196
  • Add SessionID to ErrorEvent so isRootEvent correctly filters child errors by @simonferquel-clanker in #3224
  • fix: fail fast on OAuth MCP auth in non-interactive sessions by @Sayt-0 in #3213
  • fix: correct exported name InteractivePromptsAllowed in OAuth MCP handler by @dgageot in #3225
  • feat: add readonly attribute for toolsets and agents by @dgageot in #3226
  • ci: don't cancel in-progress runs on main by @dgageot in #3228
  • feat: add top-level shared toolsets with use_toolsets agent field by @dgageot in #3232
  • feat: add plan builtin toolset for shared multi-agent collaboration by @dgageot in #3227
  • fix(mcp/oauth): merge query params when building authorize URL (#3229) by @aheritier in #3230
  • fix: sort script toolset keys for deterministic prompt ordering by @simonferquel-clanker in #3235

New Contributors

Full Changelog: v1.86.0...v1.87.0

Don't miss a new docker-agent release

NewReleases is sending notifications on new releases.