Claude Sonnet 4
Claude Sonnet 4 supports a context window of 1M tokens on AI Gateway, enabling full codebase analysis of 75,000+ lines or large document sets, while scoring 72.7% on SWE-bench Verified with hybrid extended thinking and enhanced steerability.
View API reference- Input and output price
- Prices from: Input $3, Output $15, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'anthropic/claude-sonnet-4', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Claude Sonnet 4 by Anthropic. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Claude Sonnet 4
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call Claude Sonnet 4 through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Claude Sonnet 4 request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. anthropic/claude-sonnet-4. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Claude Sonnet 4 supports up to 8,192 output tokens. Reasoning tokens count toward this limit. |
reasoning | 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | No | Provider-agnostic reasoning effort, available in AI SDK 7 or later. Maps to the provider’s native reasoning configuration; reasoning settings under providerOptions take precedence when both are set. See the Reasoning section below. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 1M-token context window |
| Image | — | URL, base64, Uint8Array | — | — | Sent as image parts in messages; counts as input tokens |
| — | URL, base64, Uint8Array | — | — | Sent as file parts in messages; counts as input tokens |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK anthropic provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['bedrock', 'vertexAnthropic'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Reasoning
AI Gateway bridges reasoning across every API format. The AI SDK exposes a provider-agnostic top-level reasoning level (none, minimal, low, medium, high, or xhigh); the Chat Completions and Responses formats take the same effort under reasoning.effort; and the Anthropic Messages format uses a native thinking token budget. Whichever you send, the gateway maps it to the target model’s native configuration, converting between effort levels and token budgets as needed. Reasoning-related settings under providerOptions take full precedence over the top-level reasoning value and are never merged. Reasoning tokens typically count toward your output-token usage, though how they’re reported and billed varies by provider.
Learn more in the AI Gateway reasoning guide.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', prompt: 'Explain the Monty Hall problem step by step.', reasoning: 'high', });
console.log(result.text);}
main().catch(console.error);Image input
Send images alongside text as message parts. Images count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe this image.' }, { type: 'image', image: 'https://example.com/photo.jpg' }, ], }, ], });
console.log(result.text);}
main().catch(console.error);PDF input
Attach PDFs as file parts. Their contents count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document.' }, { type: 'file', mediaType: 'application/pdf', data: 'https://example.com/document.pdf', }, ], }, ], });
console.log(result.text);}
main().catch(console.error);Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'anthropic/claude-sonnet-4', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout Claude Sonnet 4
Claude Sonnet 4 launched on May 22, 2025 alongside Claude Opus 4, positioned as a significant upgrade over Claude Sonnet 3.7 with stronger coding, reasoning, and instruction-following precision. It scored 72.7% on SWE-bench Verified, matching or exceeding Opus 4's 72.5% on the coding benchmark central to software engineering teams. GitHub announced it would power the coding agent in GitHub Copilot. Manus highlighted improvements in complex instruction following and aesthetic outputs. iGent reported navigation errors dropping from 20% to near zero.
The context window of 1M tokens lets you process full codebases of approximately 75,000 lines of code or equivalently large document sets in a single request. Enable this by adding the anthropic-beta: context-1m-2025-08-07 request header and routing through the Anthropic provider specifically.
Claude Sonnet 4 is a hybrid model offering both near-instant standard responses and extended thinking for deeper reasoning. Extended thinking with tool use is also available in beta. Both Claude Sonnet 4 and Opus 4 can use tools in parallel. The Claude 4 generation introduced one-hour prompt caching as an API capability. Steerability was a highlighted design improvement: the model responds more precisely to instructions, reducing the gap between what you ask and what you get.
The 65% reduction in shortcut-taking behavior compared to Sonnet 3.7 also applies to Claude Sonnet 4, improving reliability in production agentic deployments.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: The context window of 1M tokens increases per-request token volumes. Monitor cost per request when processing full codebases or large document collections, since a single request can consume tokens equivalent to many standard calls.
- Zero Data Retention: Zero Data Retention is available for this model. It is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Claude Sonnet 4
Best for
- Full-codebase analysis: The context window of 1M tokens lets you pass an entire large repository in a single request
- Agentic coding at scale: SWE-bench 72.7% and GitHub Copilot's selection as its coding agent model speak directly to this use case
- Multi-file refactoring: Architectural reasoning where the model needs to hold the whole picture simultaneously
- Instruction-precise applications: Improved steerability follows complex, nuanced instructions more accurately
- Agent workflows at Sonnet pricing: Lower per-token cost than Opus 4 makes Claude Sonnet 4 the right choice when benchmark results are comparable
Consider alternatives when
- Provider flexibility: Check whether later model versions support 1M tokens through all providers when you don't want to pin to Anthropic
- Sonnet 4.5 improvements: OSWorld computer use performance, 30+ hour agentic task duration, and domain-specific reasoning advances
- Haiku 4.5 capability match: Lower-cost option when Haiku 4.5 covers the capability requirements
- Opus-level reasoning depth: Sonnet benchmarks don't capture the full difficulty of some problems
Copy link to headingConclusion
Claude Sonnet 4 pairs strong coding benchmark performance with a context window of 1M tokens that makes entire codebases processable in one shot, a combination that changes what's architecturally feasible for software engineering agents. At Sonnet pricing, it's the default choice for teams building on the Claude 4 generation until their workloads require Opus or the later Sonnet improvements.
Copy link to headingFrequently Asked Questions
How do I enable the context window of 1M tokens for Claude Sonnet 4 on AI Gateway?
Add the
anthropic-beta: context-1m-2025-08-07header to your request. UnderproviderOptions.gateway, setonlyto['anthropic']so the request routes through the Anthropic provider, which supports the feature.What does the context window of 1M tokens enable in practice?
The context window of 1M tokens lets you process entire codebases, long documents, or extended conversation histories in a single request. This is particularly useful for code review across multiple files, document analysis, and agentic workflows that accumulate context over many steps.
How did Claude Sonnet 4 perform on SWE-bench Verified?
72.7% on SWE-bench Verified, matching or exceeding Claude Opus 4's 72.5% on that specific benchmark.
What is enhanced steerability in Claude Sonnet 4?
Sonnet 4 responds more precisely to instructions, reducing misinterpretation of complex or nuanced prompts. Anthropic highlighted steerability as an explicit design improvement for applications where exact specification of behavior matters.
Does Claude Sonnet 4 support extended thinking?
Yes. Sonnet 4 is a hybrid model that supports both near-instant responses and extended thinking. Extended thinking with tool use, where the model alternates between reasoning and calling tools, is also available in beta.
What is 1-hour prompt caching and does Sonnet 4 support it?
Yes. The Claude 4 launch introduced one-hour prompt caching as a new API capability, compared to shorter-lived caching in previous generations. This is particularly useful for codebases or large system prompts that appear in many requests.
Why would I use Sonnet 4 instead of Opus 4 given the SWE-bench scores are similar?
Claude Sonnet 4 is priced at the Sonnet tier, while Opus 4 is priced at the Opus tier. When benchmark results are comparable, the cost gap determines the choice at scale. Check the pricing panel on this page for current rates.
Your use is subject to Anthropic's Terms & Privacy Policies.