Skip to content

[BUG] parallel_tool_calls=false breaks LiteLLM/Bedrock routes with native tools #10553

@Idlebrand

Description

@Idlebrand

Problem (one or two sentences)

I'm routing Roo calls through LiteLLM to AWS Bedrock and other providers. Since the change to native tool calls (v3.37.0+), I get errors with multiple backends:

**Example 1 - Gemini via LiteLLM:**
Extension version: 3.39.0
Provider: openai
Model: gemini_3_pro
400
OpenAI completion error: 400 litellm.UnsupportedParamsError: parallel_tool_calls=False is not supported by Gemini when multiple tools are provided.

**Example 2 - Claude via AWS Bedrock:**
Extension version: 3.38.3
Provider: openai
Model: anthropic_claude_sonnet_4_5_v1_0
400
OpenAI completion error: 400 litellm.UnsupportedParamsError: bedrock does not support parameters: ['parallel_tool_calls']

Root Cause:
Roo is sending parallel_tool_calls=false by default with native tools (code: parallel_tool_calls: metadata.parallelToolCalls ?? false), which causes issues:

  1. Bedrock/Claude: Don't support the parameter at all - any value breaks
  2. Gemini: Supports parallel tool calls, but rejects parallel_tool_calls=false when multiple tools are provided (requires true or omit the parameter)
  3. Other backends: Various incompatibilities with this OpenAI-specific parameter

The parameter should either:

  • Be set to true (to match backend capabilities), or
  • Be omitted entirely for non-OpenAI backends

Context (who is affected and when)

Affected:

  • All LiteLLM routes to non-OpenAI backends (Bedrock, Gemini, open source models)
  • OpenAI-compatible APIs with incomplete tool support

Reproduction steps

  1. standard call request through liteLLM to gemini, bedrock, etc.

Expected result

Roo returns chat response

Actual result

400 connection error as model rejects multiple parameter calls with the variable set to false.

Variations tried (optional)

Workaround:
Rolling back to v3.36.x and using XML-based tools works fine.

App Version

3.39.0

API Provider (optional)

Amazon Bedrock

Model Used (optional)

No response

Roo Code Task Links (optional)

No response

Relevant logs or errors (optional)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue/PR - TriageNew issue. Needs quick review to confirm validity and assign labels.bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions