Skip to content

Commit 8a1541c

Browse files
authored
Update claude-api skill: Claude Opus 5.5 default, Claude Sonnet 5.5, build-eval and hillclimb guides (#1930)
* Update claude-api skill: Claude Opus 5.5 default, Claude Sonnet 5.5, build-eval and hillclimb guides - Make Claude Opus 5.5 (`claude-opus-5-5`) the default model across SKILL.md, models.md, and every language's examples, with Claude Opus 5 as the previous Opus; add "Migrating to Claude Opus 5.5" to shared/model-migration.md - Add Claude Sonnet 5.5 (`claude-sonnet-5-5`) as the current Sonnet, with Claude Sonnet 5 as the previous one, and update pricing, model-support callouts, and platform availability to match - Add the build-eval and hillclimb flows under shared/evals/ (build-eval, eval-hillclimb, cost-hillclimb, eval-audit), the report schema, the lite HTML report builder, and the runner scaffold - Add the preserved-thinking-migration subcommand with its cause reference and probe scripts, and note that drop_block can raise token usage - Update cost-optimize for preserved thinking and per-model cache rates, and point cache misses at cache diagnostics - Default streaming client tools to eager_input_streaming; document model access as a 404 and beta gating as a 400, not a 403 - Recommend `ant apply` for version-controlled Managed Agents resources; fix the thinking-binding default, Bedrock/Vertex header, and Managed Agents beta headers - Use current-generation model ids in the Go, Java, and C# samples, and repoint dead live-sources URLs * Update claude-api skill: drop references to files not shipped with the skill - Remove the pointer to an examples directory that is not part of the skill from build-eval.md - Remove the notes about a prebuilt report viewer's install source from SKILL.md, build-eval.md, and eval-hillclimb.md; the lite report builder remains the documented default - Trim pre-launch behavior history from the thinking-block replay note and reword two "early-access" mentions in model-migration.md
1 parent 3337550 commit 8a1541c

72 files changed

Lines changed: 6976 additions & 614 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎skills/claude-api/SKILL.md‎

Lines changed: 89 additions & 58 deletions
Large diffs are not rendered by default.

‎skills/claude-api/csharp/claude-api/README.md‎

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Write from this table instead of reflecting the SDK assembly. Endpoint column te
3535
| Programmatic tool calling | non-beta | `CodeExecutionTool20260120`, `ToolResultBlockParam`, `ContentBlockParam` |
3636
| Task budgets | beta | `BetaOutputConfig` with `TaskBudget = new BetaTokenTaskBudget { ... }` |
3737
| Tool search | non-beta | `new ToolUnion(new ToolSearchToolRegex20251119 { Type = ToolSearchToolRegex20251119Type.ToolSearchToolRegex20251119 })` - `Type` must be set explicitly. |
38-
| Web search | non-beta | `new ToolUnion(new WebSearchTool20260209())` - the latest variant with dynamic filtering (Claude Fable 5.1 + Claude Opus 5 + Opus 4.8/4.7/4.6 + Claude Sonnet 5 + Sonnet 4.6). For older models or Vertex, use `WebSearchTool20250305()` |
38+
| Web search | non-beta | `new ToolUnion(new WebSearchTool20260209())` - the latest variant with dynamic filtering (Claude Fable 5.1 + Claude Opus 5.5 + Claude Opus 5 + Opus 4.8/4.7/4.6 + Claude Sonnet 5.5 + Claude Sonnet 5 + Sonnet 4.6). For older models or Vertex, use `WebSearchTool20250305()` |
3939

4040
### Discovering type and member names
4141

@@ -58,7 +58,7 @@ AnthropicClient client = new();
5858

5959
var message = await client.Messages.Create(new MessageCreateParams
6060
{
61-
Model = "claude-opus-5",
61+
Model = "claude-opus-5-5",
6262
MaxTokens = 1024,
6363
Messages = [ new() { Role = Role.User, Content = "Hello, Claude" } ],
6464
});
@@ -77,7 +77,7 @@ AnthropicClient client = new();
7777

7878
var response = await client.Beta.Messages.Create(new MessageCreateParams
7979
{
80-
Model = "claude-opus-5",
80+
Model = "claude-opus-5-5",
8181
MaxTokens = 4096,
8282
Betas = ["<beta-flag>"],
8383
Messages = [ new() { Role = Role.User, Content = "..." } ],
@@ -123,7 +123,7 @@ using Anthropic.Models.Messages;
123123

124124
var parameters = new MessageCreateParams
125125
{
126-
Model = "claude-opus-5",
126+
Model = "claude-opus-5-5",
127127
MaxTokens = 16000,
128128
Messages = [new() { Role = Role.User, Content = "What is the capital of France?" }]
129129
};
@@ -144,7 +144,8 @@ foreach (var text in response.Content.Select(b => b.Value).OfType<TextBlock>())
144144

145145
**Adaptive thinking is the recommended mode for Claude 4.6+ models.** Claude decides dynamically when and how much to think.
146146

147-
> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (below). `new ThinkingConfigEnabled { BudgetTokens = N }` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
147+
> **Fable 5, Claude Opus 5.5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (below). `new ThinkingConfigEnabled { BudgetTokens = N }` is removed on Fable 5, Claude Opus 5.5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
148+
> **Claude Opus 5.5:** thinking is always on - omit `Thinking` (or send `ThinkingConfigAdaptive`, which is equivalent); `ThinkingConfigDisabled` returns a 400 at every effort, as does a thinking budget. Control depth with `OutputConfig.Effort` instead - the default is `medium` on this model, where Claude Opus 5 defaults to `high`.
148149
> **Claude Opus 5:** thinking is on by default - omitting `Thinking` runs adaptive (`ThinkingConfigAdaptive` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `ThinkingConfigDisabled` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400.
149150
> **Older models:** Use `new ThinkingConfigEnabled { BudgetTokens = N }` (budget must be < `MaxTokens`, min 1024).
150151
@@ -153,11 +154,11 @@ using Anthropic.Models.Messages;
153154

154155
var response = await client.Messages.Create(new MessageCreateParams
155156
{
156-
Model = "claude-opus-5",
157+
Model = "claude-opus-5-5",
157158
MaxTokens = 16000,
158159
// ThinkingConfigParam? implicitly converts from the concrete variant classes -
159160
// no wrapper needed.
160-
// display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7
161+
// display opt-in: default is omitted (empty thinking text) on Fable 5/5.1, Mythos 5/5.1, Claude Opus 5.5, Claude Opus 5, Opus 4.8/4.7, Claude Sonnet 5.5, and Claude Sonnet 5
161162
Thinking = new ThinkingConfigAdaptive { Display = Display.Summarized },
162163
Messages =
163164
[
@@ -201,7 +202,7 @@ using Anthropic.Models.Beta.Messages;
201202

202203
var betaParams = new MessageCreateParams // no Beta prefix - see unprefixed list above
203204
{
204-
Model = "claude-opus-5",
205+
Model = "claude-opus-5-5",
205206
MaxTokens = 16000,
206207
Betas = ["compact-2026-01-12"],
207208
ContextManagement = new BetaContextManagementConfig
@@ -290,7 +291,7 @@ Verify hits via `response.Usage.CacheCreationInputTokens` / `response.Usage.Cach
290291

291292
```csharp
292293
MessageTokensCount result = await client.Messages.CountTokens(new MessageCountTokensParams {
293-
Model = "claude-opus-5",
294+
Model = "claude-opus-5-5",
294295
Messages = [new() { Role = Role.User, Content = "Hello" }],
295296
});
296297
long tokens = result.InputTokens;
@@ -320,7 +321,7 @@ new MessageParam {
320321

321322
```csharp
322323
var response = await client.Beta.Messages.Create(new MessageCreateParams {
323-
Model = "claude-opus-5", MaxTokens = 4096,
324+
Model = "claude-opus-5-5", MaxTokens = 4096,
324325
Speed = Speed.Fast,
325326
Betas = ["fast-mode-2026-02-01"],
326327
Messages = [...],
@@ -332,14 +333,14 @@ var response = await client.Beta.Messages.Create(new MessageCreateParams {
332333
```csharp
333334
var page = await client.Models.List();
334335
foreach (var m in page.Items) { Console.WriteLine(m.ID); }
335-
var one = await client.Models.Retrieve("claude-opus-5");
336+
var one = await client.Models.Retrieve("claude-opus-5-5");
336337
```
337338

338339
## Long Output (128k) + Prefill
339340

340341
Set `MaxTokens = 128000` on `client.Messages` and use the streaming path (see `streaming.md`). On Claude 4+ models, 128k output is native - no `output-128k-*` beta header or beta namespace is needed.
341342

342-
**Prefilling the assistant message** (putting a trailing `Role.Assistant` message in the input) is **not supported** on Claude Fable 5.1, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6 - requests return a 400. Use `OutputConfig.Format` (structured outputs) instead.
343+
**Prefilling the assistant message** (putting a trailing `Role.Assistant` message in the input) is **not supported** on Claude Fable 5.1, Claude Opus 5.5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6 - requests return a 400. Use `OutputConfig.Format` (structured outputs) instead.
343344

344345
## Stop Details
345346

‎skills/claude-api/csharp/claude-api/batches.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
```csharp
66
var batch = await client.Messages.Batches.Create(new() {
77
Requests = [
8-
new() { CustomID = "req-1", Params = new() { Model = "claude-opus-5", MaxTokens = 1024, Messages = [...] } },
8+
new() { CustomID = "req-1", Params = new() { Model = "claude-opus-5-5", MaxTokens = 1024, Messages = [...] } },
99
],
1010
});
1111
// Poll client.Messages.Batches.Retrieve(batch.ID) until ProcessingStatus == "ended",

‎skills/claude-api/csharp/claude-api/streaming.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ using Anthropic.Models.Messages;
77

88
var parameters = new MessageCreateParams
99
{
10-
Model = Model.ClaudeOpus4_8,
10+
Model = "claude-opus-5-5",
1111
MaxTokens = 64000,
1212
Messages = [new() { Role = Role.User, Content = "Write a haiku" }]
1313
};

‎skills/claude-api/csharp/claude-api/tool-use.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ using Anthropic.Models.Messages;
1414

1515
var parameters = new MessageCreateParams
1616
{
17-
Model = Model.ClaudeSonnet4_6,
17+
Model = "claude-opus-5-5",
1818
MaxTokens = 16000,
1919
Tools = [
2020
new Tool {

‎skills/claude-api/curl/examples.md‎

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ curl https://api.anthropic.com/v1/messages \
1818
-H "x-api-key: $ANTHROPIC_API_KEY" \
1919
-H "anthropic-version: 2023-06-01" \
2020
-d '{
21-
"model": "claude-opus-5",
21+
"model": "claude-opus-5-5",
2222
"max_tokens": 16000,
2323
"messages": [
2424
{"role": "user", "content": "What is the capital of France?"}
@@ -38,7 +38,7 @@ response=$(curl -s https://api.anthropic.com/v1/messages \
3838
-H "Content-Type: application/json" \
3939
-H "x-api-key: $ANTHROPIC_API_KEY" \
4040
-H "anthropic-version: 2023-06-01" \
41-
-d '{"model":"claude-opus-5","max_tokens":16000,"messages":[{"role":"user","content":"Hello"}]}')
41+
-d '{"model":"claude-opus-5-5","max_tokens":16000,"messages":[{"role":"user","content":"Hello"}]}')
4242

4343
# Print the first text block (-r strips the JSON quotes)
4444
echo "$response" | jq -r '.content[0].text'
@@ -65,7 +65,7 @@ curl https://api.anthropic.com/v1/messages \
6565
-H "x-api-key: $ANTHROPIC_API_KEY" \
6666
-H "anthropic-version: 2023-06-01" \
6767
-d '{
68-
"model": "claude-opus-5",
68+
"model": "claude-opus-5-5",
6969
"max_tokens": 64000,
7070
"stream": true,
7171
"messages": [{"role": "user", "content": "Write a haiku"}]
@@ -104,7 +104,7 @@ curl https://api.anthropic.com/v1/messages \
104104
-H "x-api-key: $ANTHROPIC_API_KEY" \
105105
-H "anthropic-version: 2023-06-01" \
106106
-d '{
107-
"model": "claude-opus-5",
107+
"model": "claude-opus-5-5",
108108
"max_tokens": 16000,
109109
"tools": [{
110110
"name": "get_weather",
@@ -129,7 +129,7 @@ curl https://api.anthropic.com/v1/messages \
129129
-H "x-api-key: $ANTHROPIC_API_KEY" \
130130
-H "anthropic-version: 2023-06-01" \
131131
-d '{
132-
"model": "claude-opus-5",
132+
"model": "claude-opus-5-5",
133133
"max_tokens": 16000,
134134
"tools": [{
135135
"name": "get_weather",
@@ -167,7 +167,7 @@ curl https://api.anthropic.com/v1/messages \
167167
-H "x-api-key: $ANTHROPIC_API_KEY" \
168168
-H "anthropic-version: 2023-06-01" \
169169
-d '{
170-
"model": "claude-opus-5",
170+
"model": "claude-opus-5-5",
171171
"max_tokens": 16000,
172172
"system": [
173173
{"type": "text", "text": "<large shared prompt...>", "cache_control": {"type": "ephemeral"}}
@@ -182,18 +182,19 @@ For 1-hour TTL: `"cache_control": {"type": "ephemeral", "ttl": "1h"}`. Top-level
182182

183183
## Extended Thinking
184184

185-
> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
185+
> **Fable 5, Claude Opus 5.5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Claude Opus 5.5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
186+
> **Claude Opus 5.5:** thinking is always on - omit `thinking` (or send `{"type": "adaptive"}`, which is equivalent); `{"type": "disabled"}` returns a 400 at every effort, as does a thinking budget. Control depth with `output_config.effort` instead - the default is `medium` on this model, where Claude Opus 5 defaults to `high`.
186187
> **Claude Opus 5:** thinking is on by default - omitting `"thinking"` runs adaptive (`{"type": "adaptive"}` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `{"type": "disabled"}` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400.
187188
> **Older models:** Use `"type": "enabled"` with `"budget_tokens": N` (must be < `max_tokens`, min 1024).
188189
189190
```bash
190-
# Fable 5 / Claude Opus 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended)
191+
# Fable 5 / Claude Opus 5.5 / Claude Opus 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended)
191192
curl https://api.anthropic.com/v1/messages \
192193
-H "Content-Type: application/json" \
193194
-H "x-api-key: $ANTHROPIC_API_KEY" \
194195
-H "anthropic-version: 2023-06-01" \
195196
-d '{
196-
"model": "claude-opus-5",
197+
"model": "claude-opus-5-5",
197198
"max_tokens": 16000,
198199
"thinking": {
199200
"type": "adaptive",

‎skills/claude-api/curl/managed-agents.md‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
6565
"${HEADERS[@]}" \
6666
-d '{
6767
"name": "Coding Assistant",
68-
"model": "claude-opus-5",
68+
"model": "claude-opus-5-5",
6969
"tools": [{ "type": "agent_toolset_20260401" }]
7070
}'
7171
# -> { "id": "agent_abc123", ... }
@@ -89,7 +89,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
8989
"${HEADERS[@]}" \
9090
-d '{
9191
"name": "Code Reviewer",
92-
"model": "claude-opus-5",
92+
"model": "claude-opus-5-5",
9393
"system": "You are a senior code reviewer. Be thorough and constructive.",
9494
"tools": [
9595
{ "type": "agent_toolset_20260401" },
@@ -281,7 +281,6 @@ curl -X DELETE https://api.anthropic.com/v1/sessions/$SESSION_ID \
281281
curl -X POST https://api.anthropic.com/v1/files \
282282
-H "x-api-key: $ANTHROPIC_API_KEY" \
283283
-H "anthropic-version: 2023-06-01" \
284-
-H "anthropic-beta: files-api-2025-04-14" \
285284
-F "file=@path/to/file.txt" \
286285
-F "purpose=agent"
287286
```
@@ -297,13 +296,12 @@ List files the agent wrote to `/mnt/session/outputs/` during a session, then dow
297296
curl "https://api.anthropic.com/v1/files?scope_id=$SESSION_ID" \
298297
-H "x-api-key: $ANTHROPIC_API_KEY" \
299298
-H "anthropic-version: 2023-06-01" \
300-
-H "anthropic-beta: files-api-2025-04-14,managed-agents-2026-04-01"
299+
-H "anthropic-beta: managed-agents-2026-04-01"
301300

302301
# Download a specific file
303302
curl "https://api.anthropic.com/v1/files/$FILE_ID/content" \
304303
-H "x-api-key: $ANTHROPIC_API_KEY" \
305304
-H "anthropic-version: 2023-06-01" \
306-
-H "anthropic-beta: files-api-2025-04-14,managed-agents-2026-04-01" \
307305
-o downloaded_file.txt
308306
```
309307

@@ -326,7 +324,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
326324
"${HEADERS[@]}" \
327325
-d '{
328326
"name": "MCP Agent",
329-
"model": "claude-opus-5",
327+
"model": "claude-opus-5-5",
330328
"mcp_servers": [
331329
{ "type": "url", "name": "my-tools", "url": "https://my-mcp-server.example.com/sse" }
332330
],
@@ -357,7 +355,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
357355
"${HEADERS[@]}" \
358356
-d '{
359357
"name": "Restricted Agent",
360-
"model": "claude-opus-5",
358+
"model": "claude-opus-5-5",
361359
"tools": [
362360
{
363361
"type": "agent_toolset_20260401",

‎skills/claude-api/go/claude-api/README.md‎

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@ client := anthropic.NewClient(
2727

2828
---
2929

30-
## Model Constants
30+
## Model IDs
3131

32-
The Go SDK provides typed model constants: `anthropic.ModelClaudeFable5`, `anthropic.ModelClaudeOpus4_8`, `anthropic.ModelClaudeOpus4_7`, `anthropic.ModelClaudeSonnet4_6`, `anthropic.ModelClaudeHaiku4_5_20251001`. Default to Claude Opus 5 unless the user specifies otherwise; if they ask for Fable or the most powerful model, use `anthropic.ModelClaudeFable5` (see `shared/models.md` for the full resolution table).
32+
`anthropic.Model` is an alias for `string`, so pass the model as its plain id: `Model: "claude-opus-5-5"`. Default to Claude Opus 5.5 unless the user specifies otherwise; if they ask for Fable or the most powerful model, use `"claude-fable-5-1"`; if they ask for a cheaper tier, use the current generation - `"claude-sonnet-5-5"` or `"claude-haiku-4-5"` (see `shared/models.md` for the full resolution table).
3333

34-
`anthropic.Model` is an alias for `string`, so a model with no typed constant yet - including Claude Opus 5 - is passed as the plain id: `Model: "claude-opus-5"`. Check the SDK release notes for a typed `Claude Opus 5` constant before assuming one exists.
34+
The SDK also ships typed `anthropic.ModelClaude*` constants, but they lag model launches - a given SDK release may have constants only for previous-generation models. Do not pick a model because it has a typed constant; the string id works for every model on every SDK version. Check the SDK release notes before assuming a typed constant exists for a current model.
3535

3636
---
3737

3838
## Basic Message Request
3939

4040
```go
4141
response, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
42-
Model: "claude-opus-5",
42+
Model: "claude-opus-5-5",
4343
MaxTokens: 16000,
4444
Messages: []anthropic.MessageParam{
4545
anthropic.NewUserMessage(anthropic.NewTextBlock("What is the capital of France?")),
@@ -69,9 +69,10 @@ Derived from `anthropic-sdk-go/message.go` (`ThinkingConfigParamUnion`, `Thinkin
6969
```go
7070
// There is no ThinkingConfigParamOfAdaptive helper - construct the union
7171
// struct-literal directly and take the address of the variant.
72-
adaptive := anthropic.ThinkingConfigAdaptiveParam{}
72+
// display opt-in: default is omitted (empty thinking text) on Fable 5/5.1, Mythos 5/5.1, Claude Opus 5.5, Claude Opus 5, Opus 4.8/4.7, Claude Sonnet 5.5, and Claude Sonnet 5
73+
adaptive := anthropic.ThinkingConfigAdaptiveParam{Display: anthropic.ThinkingConfigAdaptiveDisplaySummarized}
7374
params := anthropic.MessageNewParams{
74-
Model: anthropic.ModelClaudeSonnet4_6,
75+
Model: "claude-opus-5-5",
7576
MaxTokens: 16000,
7677
Thinking: anthropic.ThinkingConfigParamUnion{OfAdaptive: &adaptive},
7778
Messages: []anthropic.MessageParam{
@@ -95,11 +96,12 @@ for _, block := range resp.Content {
9596
}
9697
```
9798

98-
> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (above). `ThinkingConfigParamOfEnabled(budgetTokens)` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
99+
> **Fable 5, Claude Opus 5.5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (above). `ThinkingConfigParamOfEnabled(budgetTokens)` is removed on Fable 5, Claude Opus 5.5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
100+
> **Claude Opus 5.5:** thinking is always on - leave `Thinking` unset (or send the adaptive union, which is equivalent); `OfDisabled` returns a 400 at every effort, as does `ThinkingConfigParamOfEnabled`. Control depth with `Effort` under `OutputConfig` instead - the default is `medium` on this model, where Claude Opus 5 defaults to `high`.
99101
> **Claude Opus 5:** thinking is on by default - leaving `Thinking` unset runs adaptive (the adaptive union is equivalent), unlike Opus 4.8/4.7 where leaving it unset meant no thinking.
100102
> **Older models:** Use `anthropic.ThinkingConfigParamOfEnabled(N)` (budget must be < `MaxTokens`, min 1024).
101103
102-
To disable: `anthropic.ThinkingConfigParamUnion{OfDisabled: &anthropic.ThinkingConfigDisabledParam{}}`. On Claude Opus 5 that is accepted only at effort `high` or lower - pairing it with `xhigh`/`max` returns a 400.
104+
To disable: `anthropic.ThinkingConfigParamUnion{OfDisabled: &anthropic.ThinkingConfigDisabledParam{}}`. On Claude Opus 5 that is accepted only at effort `high` or lower - pairing it with `xhigh`/`max` returns a 400; on Claude Opus 5.5 it returns a 400 at every effort (lower `Effort` instead).
103105

104106
---
105107

@@ -158,7 +160,7 @@ Use `Beta.Messages.New` with `ContextManagement` on `BetaMessageNewParams`. Ther
158160

159161
```go
160162
params := anthropic.BetaMessageNewParams{
161-
Model: "claude-opus-5", // also supported: ModelClaudeOpus4_8, ModelClaudeSonnet4_6
163+
Model: "claude-opus-5-5",
162164
MaxTokens: 16000,
163165
Betas: []anthropic.AnthropicBeta{"compact-2026-01-12"},
164166
ContextManagement: anthropic.BetaContextManagementConfigParam{

‎skills/claude-api/go/claude-api/streaming.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
```go
66
stream := client.Messages.NewStreaming(context.Background(), anthropic.MessageNewParams{
7-
Model: anthropic.ModelClaudeOpus4_8,
7+
Model: "claude-opus-5-5",
88
MaxTokens: 64000,
99
Messages: []anthropic.MessageParam{
1010
anthropic.NewUserMessage(anthropic.NewTextBlock("Write a haiku")),

‎skills/claude-api/go/claude-api/tool-use.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ runner := client.Beta.Messages.NewToolRunner(
4444
[]anthropic.BetaTool{weatherTool},
4545
anthropic.BetaToolRunnerParams{
4646
BetaMessageNewParams: anthropic.BetaMessageNewParams{
47-
Model: anthropic.ModelClaudeOpus4_8,
47+
Model: "claude-opus-5-5",
4848
MaxTokens: 16000,
4949
Messages: []anthropic.BetaMessageParam{
5050
anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("What's the weather in Paris?")),
@@ -120,7 +120,7 @@ func main() {
120120

121121
for {
122122
resp, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
123-
Model: anthropic.ModelClaudeSonnet4_6,
123+
Model: "claude-opus-5-5",
124124
MaxTokens: 16000,
125125
Messages: messages,
126126
Tools: tools,
@@ -204,11 +204,11 @@ Server-side - no tool_result round-trip. The advisor model must be >= the execut
204204

205205
```go
206206
response, err := client.Beta.Messages.New(ctx, anthropic.BetaMessageNewParams{
207-
Model: anthropic.ModelClaudeSonnet4_6,
207+
Model: "claude-sonnet-5-5", // executor
208208
MaxTokens: 4096,
209209
Tools: []anthropic.BetaToolUnionParam{
210210
{OfAdvisorTool20260301: &anthropic.BetaAdvisorTool20260301Param{
211-
Model: anthropic.ModelClaudeOpus4_8,
211+
Model: "claude-opus-5-5", // advisor
212212
}},
213213
},
214214
Messages: []anthropic.BetaMessageParam{ /* ... */ },

0 commit comments

Comments
 (0)