Skip to content

[Go] Anthropic: streaming does not emit tool request parts in chunks #4693

@yesudeep

Description

@yesudeep

Summary

The Go Anthropic plugin does not emit tool request parts in streaming chunks. When streaming is enabled and the model decides to call a tool, the conformance validator finds:

No tool request found in the streamed chunks

The final (non-streaming) response contains the tool request, but individual streamed chunks do not.

Expected behavior

When streaming with tool use, the Go Anthropic plugin should emit toolRequest parts in the streamed ModelResponseChunk objects, matching the behavior of the Python plugin.

Reproduction

cd py && bin/conform check-model anthropic --runtime go --runner native

Look for "Tool Request Conformance with streaming" failures.

Affected models

  • anthropic/claude-sonnet-4-5
  • anthropic/claude-haiku-4-5
  • anthropic/claude-opus-4-6

Notes

Non-streaming tool request tests pass for all these models, confirming the tool request handling works in the non-streaming path. The issue is specific to the streaming callback not receiving tool request parts.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinggo

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions