microsoft/autogen · error · InvalidOperationException
Failed to clone options
Error message
Failed to clone options
What it means
Error "Failed to clone options" thrown in microsoft/autogen.
Source
Thrown at dotnet/src/AutoGen.AzureAIInference/Agent/ChatCompletionsClientAgent.cs:135
}
private ChatCompletionsOptions CreateChatCompletionsOptions(GenerateReplyOptions? options, IEnumerable<IMessage> messages)
{
var oaiMessages = messages.Select(m => m switch
{
IMessage<ChatRequestMessage> chatRequestMessage => chatRequestMessage.Content,
_ => throw new ArgumentException("Invalid message type")
});
// add system message if there's no system message in messages
if (!oaiMessages.Any(m => m is ChatRequestSystemMessage))
{
oaiMessages = new[] { new ChatRequestSystemMessage(systemMessage) }.Concat(oaiMessages);
}
// clone the options by serializing and deserializing
var json = JsonSerializer.Serialize(this.options);
var settings = JsonSerializer.Deserialize<ChatCompletionsOptions>(json) ?? throw new InvalidOperationException("Failed to clone options");
foreach (var m in oaiMessages)
{
settings.Messages.Add(m);
}
settings.Temperature = options?.Temperature ?? settings.Temperature;
settings.MaxTokens = options?.MaxToken ?? settings.MaxTokens;
foreach (var functions in this.options.Tools)
{
settings.Tools.Add(functions);
}
foreach (var stopSequence in this.options.StopSequences)
{
settings.StopSequences.Add(stopSequence);
}View on GitHub (pinned to 027ecf0a37)
Solutions
- Ensure options contain only serializable values
Example fix
Remove non-serializable entries from options before cloning
When it happens
Trigger: Thrown at dotnet/src/AutoGen.AzureAIInference/Agent/ChatCompletionsClientAgent.cs:135 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microsoft/autogen@027ecf0a37 (2026-08-15).
Data as JSON: /api/errors/d31a19909d12ef3d.
Report an issue: GitHub.