Skip to content

go: return failed tool result for empty v2 tool name - #4

Open
lonegunmanb wants to merge 1 commit into
mainfrom
patch/v0.3.2-go-empty-tool-name
Open

go: return failed tool result for empty v2 tool name#4
lonegunmanb wants to merge 1 commit into
mainfrom
patch/v0.3.2-go-empty-tool-name

Conversation

@lonegunmanb

Copy link
Copy Markdown
Owner

Summary

Fix Go SDK v2 tool.call handling for empty toolName when toolCallId is present.

  • Keep payload validation strict for missing sessionId or toolCallId (still returns invalid tool call payload)
  • Change empty toolName path to return a structured failed ToolResult instead of JSON-RPC invalid payload error
  • Add unit tests for:
    • empty toolName returns failure ToolResult
    • missing toolCallId still returns invalid payload error

This prevents dangling assistant.tool_calls without corresponding tool results in long-running sessions.

Closes #3

Validation

  • cd go && go test ./... -run TestClient_HandleToolCallRequestV2 -v

@lonegunmanb
lonegunmanb force-pushed the patch/v0.3.2-go-empty-tool-name branch from 37baf38 to 098e33b Compare June 1, 2026 23:22
@lonegunmanb
lonegunmanb force-pushed the patch/v0.3.2-go-empty-tool-name branch from 098e33b to 777258b Compare June 1, 2026 23:32
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.

Return failed tool result for empty tool name to avoid dangling tool_calls

1 participant