@@ -82,12 +82,12 @@ ANTHROPIC_API_KEY=<key> swift run ClaudeExample --search "Top spaceflight news t
8282Model identifiers are values of ` ClaudeModel ` . Use a compiled-in constant, or construct one with explicit capabilities for an ID that isn't compiled in yet (see [ Capabilities] ( #capabilities ) ):
8383
8484``` swift
85- ClaudeLanguageModel (name : .opus5 , auth : auth)
85+ ClaudeLanguageModel (name : .opus5_5 , auth : auth)
8686```
8787
88- Constants mirror API model IDs (` .opus5 ` is ` claude-opus-5 ` ) and carry each model's capabilities. New models ship as new constants in package releases.
88+ Constants mirror API model IDs (` .opus5_5 ` is ` claude-opus-5 -5 ` ) and carry each model's capabilities. New models ship as new constants in package releases.
8989
90- Dateless model IDs like ` claude-opus-5 ` (the 4.6 generation onward) are pinned snapshots, not evergreen pointers — the model behind an ID doesn't change underneath you.
90+ Dateless model IDs like ` claude-opus-5-5 ` (the 4.6 generation onward) are pinned snapshots, not evergreen pointers — the model behind an ID doesn't change underneath you.
9191
9292### Capabilities
9393
@@ -106,7 +106,7 @@ ClaudeLanguageModel(name: model, auth: auth)
106106Pin a Claude effort level for every request with ` fixedEffort: ` . It takes precedence over the framework's per-request reasoning hints. The API defaults to ` high ` when no effort is sent:
107107
108108``` swift
109- ClaudeLanguageModel (name : .opus5 , auth : auth, fixedEffort : .xhigh )
109+ ClaudeLanguageModel (name : .opus5_5 , auth : auth, fixedEffort : .xhigh )
110110```
111111
112112The framework's reasoning levels map to effort per request: ` .light ` → ` low ` , ` .moderate ` → ` medium ` , ` .deep ` → ` high ` , and ` .custom ` accepts a Claude effort name directly (` "xhigh" ` , ` "max" ` ). Levels a model doesn't accept are dropped — a reasoning level is a hint, not a contract.
@@ -118,7 +118,7 @@ The level must be one the model accepts — each model declares which of the fiv
118118Some models decline requests in certain policy areas, such as cybersecurity or biology. Name fallback models with ` fallbacks: ` , and the API retries a declined request on them, in order, within the same request:
119119
120120``` swift
121- ClaudeLanguageModel (name : .opus5 , auth : auth, fallbacks : [.opus4_8 ])
121+ ClaudeLanguageModel (name : .opus5_5 , auth : auth, fallbacks : [.opus4_8 ])
122122```
123123
124124You can name up to three fallbacks, and each one must be a model that the requested model allows as a fallback. To use the requested model's default fallback configuration instead, pass ` fallbacks: .serverDefault ` . The API then picks the fallback that's recommended for the policy area of the refusal, and for an area with no recommended fallback, the refusal stands.
@@ -201,7 +201,7 @@ Credentials are device-bound and never sync or back up.
201201If your app makes requests on behalf of its users, attribute each request to that user's profile. Your backend creates one profile per user with the API's user profiles endpoints (` /v1/user_profiles ` ). It stores the profile's ID with the user, and passes that ID to the app. The app then passes the ID when it creates the model:
202202
203203``` swift
204- ClaudeLanguageModel (name : .opus5 , auth : auth, userProfileID : profileID)
204+ ClaudeLanguageModel (name : .opus5_5 , auth : auth, userProfileID : profileID)
205205```
206206
207207The bridge sends the ID in the ` anthropic-user-profile-id ` header on every request, along with the ` user-profiles-2026-08-18 ` beta. The API checks the ID, so an unknown ID fails the request. With ` .proxied ` , the relay has to forward both headers.