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

  1. 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.