Uh oh!
There was an error while loading. Please reload this page.
.NET: Allow agents to opt into concurrent tool invocation - #7650
Conversation
There was a problem hiding this comment.
Pull request overview
Adds opt-in concurrent tool invocation for .NET chat-client agents while retaining serial execution by default.
Changes:
- Adds and clones
AllowConcurrentInvocation. - Configures default function-invocation middleware.
- Adds focused option and middleware tests.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
ChatClientExtensions.cs | Applies concurrency configuration to new middleware. |
ChatClientAgentOptions.cs | Exposes and clones the new option. |
ChatClientExtensionsTests.cs | Tests enabling concurrent invocation. |
ChatClientAgentOptionsTests.cs | Tests defaults and cloning. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
3593366 to
1afb1b3Compareump45nose
commented
Aug 17, 2026
@microsoft-github-policy-service agree
@microsoft-github-policy-service agree |
1afb1b3 to
2f32adfCompareump45nose
commented
Aug 17, 2026
Roger Barreto (@rogerbarreto) — The CLA is complete, both review threads are resolved, and the branch is now rebased onto current |
westey (westey-m)
commented
Aug 17, 2026
Thanks for the contribution ump45nose |
Uh oh!
There was an error while loading. Please reload this page.
Motivation & Context
AsAIAgent()always left its defaultFunctionInvokingChatClientin serial invocation mode, even when the model returned multiple independent tool calls. This adds an explicit, backward-compatible opt-in for concurrent execution while preserving the current serial default.Description & Review Guide
ChatClientAgentOptions.AllowConcurrentInvocation, pass it to the default function-invocation middleware, preserve it when cloning options, and cover both paths with focused unit tests.AllowMultipleToolCallsand runtime function-invocation concurrency.Related Issue
Fixes#7640
Contribution Checklist
breaking changelabel (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.