From 009cac6326e1726da0b9f97ac08d7a16120ceab0 Mon Sep 17 00:00:00 2001 From: decolua Date: Wed, 2 Sep 2026 11:27:21 +0700 Subject: [PATCH] fix(claude): bump CC fingerprint to 2.1.258 for new-model access Anthropic gates newly released models (e.g. claude-fable-5-1) to Claude Code >= 2.1.251; the spoofed 2.1.92 client got HTTP 400 on every request. Bump User-Agent + billing-header version to 2.1.258 and refresh the providers baseline snapshot. Co-Authored-By: Claude Code --- open-sse/providers/registry/claude.js | 2 +- open-sse/providers/shared.js | 2 +- open-sse/utils/claudeCloaking.js | 6 +++--- tests/__baseline__/providers-baseline.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/open-sse/providers/registry/claude.js b/open-sse/providers/registry/claude.js index 8c47a6b3..65bab07e 100644 --- a/open-sse/providers/registry/claude.js +++ b/open-sse/providers/registry/claude.js @@ -25,7 +25,7 @@ export default { "Anthropic-Version": "2023-06-01", "Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28", "Anthropic-Dangerous-Direct-Browser-Access": "true", - "User-Agent": "claude-cli/2.1.92 (external, sdk-cli)", + "User-Agent": "claude-cli/2.1.258 (external, sdk-cli)", "X-App": "cli", "X-Stainless-Helper-Method": "stream", "X-Stainless-Retry-Count": "0", diff --git a/open-sse/providers/shared.js b/open-sse/providers/shared.js index fdd76c40..118a7593 100644 --- a/open-sse/providers/shared.js +++ b/open-sse/providers/shared.js @@ -34,7 +34,7 @@ export const CLAUDE_CLI_SPOOF_HEADERS = { "Anthropic-Version": ANTHROPIC_API_VERSION, "Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28", "Anthropic-Dangerous-Direct-Browser-Access": "true", - "User-Agent": "claude-cli/2.1.92 (external, sdk-cli)", + "User-Agent": "claude-cli/2.1.258 (external, sdk-cli)", "X-App": "cli", "X-Stainless-Helper-Method": "stream", "X-Stainless-Retry-Count": "0", diff --git a/open-sse/utils/claudeCloaking.js b/open-sse/utils/claudeCloaking.js index 4f43a670..50395d53 100644 --- a/open-sse/utils/claudeCloaking.js +++ b/open-sse/utils/claudeCloaking.js @@ -1,10 +1,10 @@ import { createHash, randomBytes, randomUUID } from "crypto"; import { CLAUDE_TOOL_SUFFIX, CC_DEFAULT_TOOLS } from "../config/appConstants.js"; -const CLAUDE_VERSION = "2.1.92"; +const CLAUDE_VERSION = "2.1.258"; const CC_ENTRYPOINT = "sdk-cli"; -// Generate billing header matching real Claude Code 2.1.92+ format: +// Generate billing header matching real Claude Code 2.1.258+ format: // x-anthropic-billing-header: cc_version=.; cc_entrypoint=sdk-cli; cch=; function generateBillingHeader(payload) { const content = JSON.stringify(payload); @@ -19,7 +19,7 @@ function deriveUuid(seed) { return `${h.slice(0, 8)}-${h.slice(8, 12)}-4${h.slice(13, 16)}-${((parseInt(h[16], 16) & 0x3) | 0x8).toString(16)}${h.slice(17, 20)}-${h.slice(20, 32)}`; } -// Generate fake user ID in Claude Code 2.1.92+ JSON format: +// Generate fake user ID in Claude Code 2.1.258+ JSON format: // {"device_id":"<64hex>","account_uuid":"","session_id":""} // device_id/account_uuid derive from apiKey (stable per account), session_id per-conversation function generateFakeUserID(sessionId, apiKey) { diff --git a/tests/__baseline__/providers-baseline.json b/tests/__baseline__/providers-baseline.json index 2bf96d44..caeaa911 100644 --- a/tests/__baseline__/providers-baseline.json +++ b/tests/__baseline__/providers-baseline.json @@ -92,7 +92,7 @@ "Anthropic-Version": "2023-06-01", "Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28", "Anthropic-Dangerous-Direct-Browser-Access": "true", - "User-Agent": "claude-cli/2.1.92 (external, sdk-cli)", + "User-Agent": "claude-cli/2.1.258 (external, sdk-cli)", "X-App": "cli", "X-Stainless-Helper-Method": "stream", "X-Stainless-Retry-Count": "0",