Anthropic
Claude Opus 5.5
anthropic/claude-opus-5.5
Anthropic's flagship for demanding reasoning, multi-step changes in large codebases, and long-horizon agent work. Reach for it when a wrong answer costs more than the tokens.
RoleThe planner in a coding agent
$4
In / M
$20
Out / M
1.0M
Context
- AA intelligence index
- 59.1
- Inputs
- text, image, file
- Outputs
- text
- Tools
- Listed
- Structured output
- Listed
- Reasoning
- Listed
- Weights
- Not verified
- Listed
- Sep 22, 2026
01 · What it's good at
Use it for this.
Three jobs this model is built for, and the ones to give to something else.
01
Multi-step changes across a large codebase
02
Long-horizon agent loops that call tools for many turns
03
Hard debugging and design reviews where you want the careful answer
Skip it for
- Bulk summarizing or tagging. A small model like Haiku 5.5 is built for that volume
- Snappy chat. Reasoning is mandatory on this listing, so it always thinks first
02 · Example tasks
What you'd actually send it.
Real inputs, not a benchmark. Paste one into the snippet below to try it.
You send
Migrate every route in src/routes from Express to Hono. Keep behavior identical, update the tests, and list each file you changed with a one-line reason.
Why this model
Many files, one plan. This is the multi-step codebase work the listing positions Opus for.
03 · Your stack
Where it sits: Plan & reason.
Put Opus in the main agent loop. It reads the task, plans, calls your tools (read a file, run tests, edit), and decides when it is done. Your runner, such as Claude Code, the OpenRouter Agent SDK, or your own loop, executes the tools. Hand narrow sub-tasks to a cheaper model.
Layer 01
Retrieve
Layer 02 · this model
Plan & reason
Layer 03
Do the volume
Layer 04
Gate & route
Layer 05
Draw, speak, listen
04 · Wire it up
One request. Paste and run.
Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.
// OpenRouter speaks the OpenAI Chat Completions format.
const res = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "anthropic/claude-opus-5.5",
"messages": [
{
"role": "system",
"content": "You are a coding agent in a TypeScript monorepo. Plan first, then use tools. Stop when the tests pass."
},
{
"role": "user",
"content": "The test checkout.spec.ts fails with 'total is NaN'. Find and fix the cause."
}
],
"reasoning": {
"effort": "high"
},
"tools": [
{
"type": "function",
"function": {
"name": "read_file",
"description": "Read a file from the repository",
"parameters": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
}
}
}
]
}),
});
const data = await res.json();
const message = data.choices[0].message;
for (const call of message.tool_calls ?? []) {
// Run the tool yourself, then send the result back as
// { role: "tool", tool_call_id: call.id, content: result } and call again.
console.log(call.function.name, call.function.arguments);
}
console.log(message.content);
05 · Watch out for
Gotchas.
Reasoning is mandatory on the OpenRouter listing (default effort: high). Lower
reasoning.efforton easy turns to cut cost and latency.Check the live price against Sonnet 5.5. Many teams default to Sonnet and escalate to Opus only when a task stalls.
Agents fail on tooling more than on model quality. Give it a test command and file access before blaming the model.
Sources
Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.
Keep learning