@@ -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.