diff --git a/pkg/providers/anthropic/provider.go b/pkg/providers/anthropic/provider.go index 6f4aadb8b..a3704cdf3 100644 --- a/pkg/providers/anthropic/provider.go +++ b/pkg/providers/anthropic/provider.go @@ -11,6 +11,7 @@ import ( "github.com/anthropics/anthropic-sdk-go/option" "github.com/sipeed/picoclaw/pkg/providers/common" + "github.com/sipeed/picoclaw/pkg/providers/messageutil" "github.com/sipeed/picoclaw/pkg/providers/protocoltypes" ) @@ -170,8 +171,11 @@ func buildParams( anthropic.NewUserMessage(anthropic.NewToolResultBlock(msg.ToolCallID, msg.Content, false)), ) } else { + // Anthropic has no per-message author identity; render any + // sender attribution as a `[name] ` prefix without mutating + // the persisted message. anthropicMessages = append(anthropicMessages, - anthropic.NewUserMessage(anthropic.NewTextBlock(msg.Content)), + anthropic.NewUserMessage(anthropic.NewTextBlock(messageutil.ApplyUserNamePrefix(msg))), ) } case "assistant":