From 0f72311ec84c89c4e8eb2cfcaaa182ff623cabb3 Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Sat, 20 Sep 2025 07:41:23 -0400 Subject: [PATCH] Fix empty / trailing whitespace handling in ChatClientHelper Anthropic's service complains when assistant text ends in whitespace or when messages are empty. --- Anthropic.SDK/Messaging/ChatClientHelper.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Anthropic.SDK/Messaging/ChatClientHelper.cs b/Anthropic.SDK/Messaging/ChatClientHelper.cs index 590d66a..405d006 100644 --- a/Anthropic.SDK/Messaging/ChatClientHelper.cs +++ b/Anthropic.SDK/Messaging/ChatClientHelper.cs @@ -186,7 +186,20 @@ public static MessageParameters CreateMessageParameters(IChatClient client, IEnu break; case Microsoft.Extensions.AI.TextContent textContent: - currentMessage.Content.Add(new TextContent() { Text = textContent.Text }); + string text = textContent.Text; + if (currentMessage.Role == RoleType.Assistant) + { + text.TrimEnd(); + if (text.Length != 0) + { + currentMessage.Content.Add(new TextContent() { Text = text }); + } + } + else + { + currentMessage.Content.Add(new TextContent() { Text = text }); + } + break; case Microsoft.Extensions.AI.DataContent imageContent when imageContent.HasTopLevelMediaType("image"): @@ -224,6 +237,8 @@ public static MessageParameters CreateMessageParameters(IChatClient client, IEnu } } + parameters.Messages.RemoveAll(m => m.Content.Count == 0); + return parameters; }