Anthropic Messages
When support is released, Claude Code and the Anthropic SDK should use the native Messages protocol. Do not configure an Anthropic client with the OpenAI /v1 base URL.
Endpoint and authentication
Section titled “Endpoint and authentication”POST https://api.nexinfer.com/v1/messagescurl https://api.nexinfer.com/v1/messages \ -H "x-api-key: $NEXINFER_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "YOUR_CLAUDE_MODEL_ID", "max_tokens": 256, "messages": [{"role":"user","content":"Reply with OK."}] }'max_tokens is required by the Messages API. The selected model must be within the key’s allowed scope.
System instructions
Section titled “System instructions”Messages uses a top-level system field. Do not add a role: "system" entry to the messages array:
{ "model": "YOUR_CLAUDE_MODEL_ID", "max_tokens": 256, "system": "Answer concisely.", "messages": [{"role":"user","content":"Explain health checks."}]}NexInfer does not intentionally inject or override the system prompt.
Streaming
Section titled “Streaming”Set "stream": true to receive SSE. Handle Anthropic event types such as message_start, content_block_delta, message_delta, and message_stop; do not parse them as OpenAI streaming chunks.
Tool use
Section titled “Tool use”Declare tools and their input schemas in tools. When Claude returns a tool_use content block, execute the tool and send a matching tool_result in a later user message.
{ "name": "get_weather", "description": "Get weather for a city", "input_schema": { "type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"] }}Always validate model-generated tool arguments. Add confirmation and idempotency controls for operations with side effects.
Prompt caching
Section titled “Prompt caching”Models with prompt-caching support can accept cache_control on system, message content, tool definitions, and other supported blocks. Availability, minimum cacheable content, and billing depend on the model and model provider.
NexInfer does not intentionally remove cache_control; this does not imply identical caching support across every Claude model.
Extended thinking
Section titled “Extended thinking”Models that provide the capability can accept a thinking configuration. Its constraints interact with max_tokens, tool use, and model versions; follow Anthropic’s requirements for the selected model.
NexInfer does not intentionally change thinking or reduce its configured level. Unsupported combinations may still return a model-provider 400.
Troubleshooting
Section titled “Troubleshooting”400: checkmax_tokens, top-levelsystem, content blocks, and model capabilities.401/403: checkx-api-key, model permission, and the base URL.- Stream parsing failure: use Anthropic SSE event types, not OpenAI chunk shapes.
- Broken tool loop: verify that
tool_use.idmatchestool_result.tool_use_id.
Official references: Messages API · Streaming · Tool use · Prompt caching · Extended thinking