From 356de5ab198a6e97e78dc47c13d53595657828c4 Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Fri, 13 Mar 2026 18:20:22 +0100 Subject: [PATCH] Fix Bedrock ToolChoiceNone still sending tool definitions Signed-off-by: Bryan Frimin --- pkg/llm/bedrock/provider.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkg/llm/bedrock/provider.go b/pkg/llm/bedrock/provider.go index 726b20137..a2554067c 100644 --- a/pkg/llm/bedrock/provider.go +++ b/pkg/llm/bedrock/provider.go @@ -74,9 +74,8 @@ func (p *Provider) ChatCompletionStream(ctx context.Context, req *llm.ChatComple input.System = system } - if len(req.Tools) > 0 { - toolConfig := buildToolConfig(req) - input.ToolConfig = toolConfig + if len(req.Tools) > 0 && (req.ToolChoice == nil || req.ToolChoice.Type != llm.ToolChoiceNone) { + input.ToolConfig = buildToolConfig(req) } output, err := p.client.ConverseStream(ctx, input) @@ -99,9 +98,8 @@ func buildInput(req *llm.ChatCompletionRequest) *bedrockruntime.ConverseInput { input.System = system } - if len(req.Tools) > 0 { - toolConfig := buildToolConfig(req) - input.ToolConfig = toolConfig + if len(req.Tools) > 0 && (req.ToolChoice == nil || req.ToolChoice.Type != llm.ToolChoiceNone) { + input.ToolConfig = buildToolConfig(req) } return input