Skip to content

fix: prevent panic in code mode when tool handler is nil#2388

Merged
dgageot merged 1 commit intodocker:mainfrom
dgageot:board/fix-docker-agent-issue-2383-81b49d7b
Apr 12, 2026
Merged

fix: prevent panic in code mode when tool handler is nil#2388
dgageot merged 1 commit intodocker:mainfrom
dgageot:board/fix-docker-agent-issue-2383-81b49d7b

Conversation

@dgageot
Copy link
Copy Markdown
Member

@dgageot dgageot commented Apr 12, 2026

Tools like run_skill have their handler wired at the runtime layer, not in the toolset definition. When code mode calls tool.Handler directly, this causes a nil pointer dereference.

Changes:

  • Add a nil handler check in callTool returning a clear error
  • Guard against nil *ToolCallResult from handlers
  • Simplify callTool by extracting invokeTool with centralized tracking (removes 4 duplicated tracker.record blocks)

Fixes #2383

Tools like run_skill have their handler wired at the runtime layer,
not in the toolset definition. When code mode calls tool.Handler
directly, this causes a nil pointer dereference.

Add a nil handler check returning a clear error, guard against nil
ToolCallResult, and simplify callTool by extracting invokeTool with
centralized tracking.

Fixes docker#2383

Assisted-By: docker-agent
@dgageot dgageot requested a review from a team as a code owner April 12, 2026 15:35
@dgageot dgageot merged commit 5191862 into docker:main Apr 12, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

code_mode_tools panic

2 participants