microsoft/autogen · error · InvalidOperationException
Invalid Role
Error message
Invalid Role
What it means
Error "Invalid Role" thrown in microsoft/autogen.
Source
Thrown at dotnet/src/AutoGen.AzureAIInference/Middleware/AzureAIInferenceChatRequestMessageConnector.cs:214
private IEnumerable<ChatRequestMessage> ProcessTextMessage(IAgent agent, TextMessage message)
{
if (message.Role == Role.System)
{
return [new ChatRequestSystemMessage(message.Content)];
}
if (agent.Name == message.From)
{
return [new ChatRequestAssistantMessage { Content = message.Content }];
}
else
{
return message.From switch
{
null when message.Role == Role.User => [new ChatRequestUserMessage(message.Content)],
null when message.Role == Role.Assistant => [new ChatRequestAssistantMessage() { Content = message.Content }],
null => throw new InvalidOperationException("Invalid Role"),
_ => [new ChatRequestUserMessage(message.Content)]
};
}
}
private IEnumerable<ChatRequestMessage> ProcessImageMessage(IAgent agent, ImageMessage message)
{
if (agent.Name == message.From)
{
// image message from assistant is not supported
throw new ArgumentException("ImageMessage is not supported when message.From is the same with agent");
}
var imageContentItem = this.CreateChatMessageImageContentItemFromImageMessage(message);
return [new ChatRequestUserMessage([imageContentItem])];
}
private IEnumerable<ChatRequestMessage> ProcessMultiModalMessage(IAgent agent, MultiModalMessage message)View on GitHub (pinned to 027ecf0a37)
Solutions
- Use user/assistant/system roles only
Example fix
Normalize roles to the supported set before conversion
When it happens
Trigger: Thrown at dotnet/src/AutoGen.AzureAIInference/Middleware/AzureAIInferenceChatRequestMessageConnector.cs:214 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/c1a8a91df79c8244.
Report an issue: GitHub.