Skip to content

feat: support parallel tool calling - #186

Open
edcuba wants to merge 1 commit into
mainfrom
feature/parallel-tool-calling
Open

feat: support parallel tool calling#186
edcuba wants to merge 1 commit into
mainfrom
feature/parallel-tool-calling

Conversation

@edcuba

@edcuba edcuba commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Add support for executing batches of tool calls in parallel.

Changes

  • Added the parallel_tool_calls option to LlmModel and supported model implementations.
  • Enabled parallel tool execution by default.
  • Execute independent, non-confirmation server tools concurrently with asyncio.gather.
  • Continue handling client tools, confirmation-required tools, and mixed tool batches sequentially.
  • Preserve interrupted tool requests when authentication yields during parallel execution, while avoiding duplicate execution of completed tools.
  • Added serialization support for the new model option.
  • Documented parallel tool calling, including guidance for tools with side effects or shared state.
  • Updated the changelog.

Tests

Added integration coverage for:

  • Concurrent execution of parallel server tools.
  • Disabling parallel tool execution.
  • Resuming a parallel batch after an authentication interruption.
  • Ensuring completed tools are not executed twice after resumption.

Signed-off-by: Eduard Cuba <eduard.cuba@oracle.com>
@edcuba
edcuba requested a review from a team August 18, 2026 15:40
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant