Skip to content

Commit 678f827

Browse files
Remove Claude subscription-based model adjustment (#1899)
1 parent a3dadf3 commit 678f827

1 file changed

Lines changed: 3 additions & 52 deletions

File tree

apps/server/src/provider/Layers/ClaudeProvider.ts

Lines changed: 3 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -276,18 +276,6 @@ function extractClaudeAuthMethodFromOutput(result: CommandResult): string | unde
276276
return Option.getOrUndefined(findAuthMethod(parsed.success));
277277
}
278278

279-
// ── Dynamic model capability adjustment ─────────────────────────────
280-
281-
/** Subscription types where the 1M context window is included in the plan. */
282-
const PREMIUM_SUBSCRIPTION_TYPES = new Set([
283-
"max",
284-
"maxplan",
285-
"max5",
286-
"max20",
287-
"enterprise",
288-
"team",
289-
]);
290-
291279
function toTitleCaseWords(value: string): string {
292280
return value
293281
.split(/[\s_-]+/g)
@@ -348,41 +336,6 @@ function claudeAuthMetadata(input: {
348336
return undefined;
349337
}
350338

351-
/**
352-
* Adjust the built-in model list based on the user's detected subscription.
353-
*
354-
* - Premium tiers (Max, Enterprise, Team): 1M context becomes the default.
355-
* - Other tiers (Pro, free, unknown): 200k context stays the default;
356-
* 1M remains available as a manual option so users can still enable it.
357-
*/
358-
export function adjustModelsForSubscription(
359-
baseModels: ReadonlyArray<ServerProviderModel>,
360-
subscriptionType: string | undefined,
361-
): ReadonlyArray<ServerProviderModel> {
362-
const normalized = subscriptionType?.toLowerCase().replace(/[\s_-]+/g, "");
363-
if (!normalized || !PREMIUM_SUBSCRIPTION_TYPES.has(normalized)) {
364-
return baseModels;
365-
}
366-
367-
// Flip 1M to be the default for premium users
368-
return baseModels.map((model) => {
369-
const caps = model.capabilities;
370-
if (!caps || caps.contextWindowOptions.length === 0) return model;
371-
372-
return {
373-
...model,
374-
capabilities: {
375-
...caps,
376-
contextWindowOptions: caps.contextWindowOptions.map((opt) =>
377-
opt.value === "1m"
378-
? { value: opt.value, label: opt.label, isDefault: true as const }
379-
: { value: opt.value, label: opt.label },
380-
),
381-
},
382-
};
383-
});
384-
}
385-
386339
// ── SDK capability probe ────────────────────────────────────────────
387340

388341
const CAPABILITIES_PROBE_TIMEOUT_MS = 8_000;
@@ -563,8 +516,6 @@ export const checkClaudeProviderStatus = Effect.fn("checkClaudeProviderStatus")(
563516
subscriptionType = yield* resolveSubscriptionType(claudeSettings.binaryPath);
564517
}
565518

566-
const resolvedModels = adjustModelsForSubscription(models, subscriptionType);
567-
568519
// ── Handle auth results (same logic as before, adjusted models) ──
569520

570521
if (Result.isFailure(authProbe)) {
@@ -573,7 +524,7 @@ export const checkClaudeProviderStatus = Effect.fn("checkClaudeProviderStatus")(
573524
provider: PROVIDER,
574525
enabled: claudeSettings.enabled,
575526
checkedAt,
576-
models: resolvedModels,
527+
models,
577528
probe: {
578529
installed: true,
579530
version: parsedVersion,
@@ -592,7 +543,7 @@ export const checkClaudeProviderStatus = Effect.fn("checkClaudeProviderStatus")(
592543
provider: PROVIDER,
593544
enabled: claudeSettings.enabled,
594545
checkedAt,
595-
models: resolvedModels,
546+
models,
596547
probe: {
597548
installed: true,
598549
version: parsedVersion,
@@ -609,7 +560,7 @@ export const checkClaudeProviderStatus = Effect.fn("checkClaudeProviderStatus")(
609560
provider: PROVIDER,
610561
enabled: claudeSettings.enabled,
611562
checkedAt,
612-
models: resolvedModels,
563+
models,
613564
probe: {
614565
installed: true,
615566
version: parsedVersion,

0 commit comments

Comments
 (0)