{"record":{"id":"c4bca8c1b680414d","repo":"microsoft/semantic-kernel","slug":"unsupported-anthropic-model-modelid","errorCode":null,"errorMessage":"Unsupported Anthropic model: {modelId}","messagePattern":"Unsupported Anthropic model: (.+?)","errorType":"exception","errorClass":"NotSupportedException","httpStatus":null,"severity":"error","filePath":"dotnet/src/Connectors/Connectors.Amazon/Bedrock/Core/BedrockServiceFactory.cs","lineNumber":70,"sourceCode":"                    return new AI21JambaService();\n                }\n                if (modelName.StartsWith(\"j2-\", StringComparison.OrdinalIgnoreCase))\n                {\n                    return new AI21JurassicService();\n                }\n                throw new NotSupportedException($\"Unsupported AI21 model: {modelId}\");\n            case \"AMAZON\":\n                if (modelName.StartsWith(\"titan-\", StringComparison.OrdinalIgnoreCase))\n                {\n                    return new AmazonService();\n                }\n                throw new NotSupportedException($\"Unsupported Amazon model: {modelId}\");\n            case \"ANTHROPIC\":\n                if (modelName.StartsWith(\"claude-\", StringComparison.OrdinalIgnoreCase))\n                {\n                    return new AnthropicService();\n                }\n                throw new NotSupportedException($\"Unsupported Anthropic model: {modelId}\");\n            case \"COHERE\":\n                if (modelName.StartsWith(\"command-r\", StringComparison.OrdinalIgnoreCase))\n                {\n                    return new CohereCommandRService();\n                }\n                if (modelName.StartsWith(\"command-\", StringComparison.OrdinalIgnoreCase))\n                {\n                    return new CohereCommandService();\n                }\n                throw new NotSupportedException($\"Unsupported Cohere model: {modelId}\");\n            case \"META\":\n                if (modelName.StartsWith(\"llama3-\", StringComparison.OrdinalIgnoreCase))\n                {\n                    return new MetaService();\n                }\n                throw new NotSupportedException($\"Unsupported Meta model: {modelId}\");\n            case \"MISTRAL\":\n                if (modelName.StartsWith(\"mistral-\", StringComparison.OrdinalIgnoreCase)","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/microsoft/semantic-kernel/blob/c028a0c7dc4f0814cdcbaba9d998f187a41197bf/dotnet/src/Connectors/Connectors.Amazon/Bedrock/Core/BedrockServiceFactory.cs#L52-L88","documentation":"CreateTextGenerationService routes Anthropic models to AnthropicService only when the model name starts with 'claude-'. Any other Anthropic model name throws NotSupportedException.","triggerScenarios":"Text generation with modelId provider 'anthropic' whose model-name segment does not start with 'claude-' (e.g. a misspelled or non-Claude Anthropic model).","commonSituations":"Typo in the modelId (e.g. 'anthropic.claude3-opus' missing the dash). Using a non-Claude Anthropic identifier. Outdated connector that doesn't know a newer Claude naming variant.","solutions":["Use an Anthropic Claude modelId such as 'anthropic.claude-3-opus-20240229-v1:0'.","Check the model name starts with 'claude-' exactly.","Upgrade Connectors.Amazon for newer Claude model support."],"exampleFix":"// before\nvar modelId = \"anthropic.claude3-sonnet\"; // missing dash -> name does not start with 'claude-'\n\n// after\nvar modelId = \"anthropic.claude-3-sonnet-20240229-v1:0\";","handlingStrategy":"validation","validationCode":"static bool IsSupportedAnthropicTextModel(string modelId)\n{\n    var (provider, name) = SplitModelId(modelId);\n    return provider.Equals(\"anthropic\", StringComparison.OrdinalIgnoreCase)\n        && name.StartsWith(\"claude-\", StringComparison.OrdinalIgnoreCase);\n}","typeGuard":"static bool IsSupportedAnthropicTextModel(string modelId)\n{\n    var (provider, name) = SplitModelId(modelId);\n    return provider.Equals(\"anthropic\", StringComparison.OrdinalIgnoreCase)\n        && name.StartsWith(\"claude-\", StringComparison.OrdinalIgnoreCase);\n}","tryCatchPattern":"try\n{\n    var text = await bedrockTextGen.GetTextContentAsync(prompt, settings, ct);\n}\ncatch (NotSupportedException ex) when (ex.Message.Contains(\"Anthropic\"))\n{\n    logger.LogError(ex, \"Anthropic modelId '{Id}' not supported. Use claude-*.\", modelId);\n    throw;\n}","preventionTips":["Verify the Claude model name starts with 'claude-' including the dash.","Validate modelId against the supported prefix before calling.","Upgrade the connector for newer Claude variants."],"tags":["csharp","dotnet","semantic-kernel","bedrock","aws","anthropic","model-id","not-supported"],"backgroundTag":null,"analyzedSha":"c028a0c7dc4f0814cdcbaba9d998f187a41197bf","analyzedAt":"2026-08-13T13:48:05.040Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}