diff --git a/src/server/proxy-core/providers/claudeProviderProfile.ts b/src/server/proxy-core/providers/claudeProviderProfile.ts index e8301da..57eafe2 100644 --- a/src/server/proxy-core/providers/claudeProviderProfile.ts +++ b/src/server/proxy-core/providers/claudeProviderProfile.ts @@ -83,7 +83,7 @@ function buildClaudeRuntimeHeaders(input: { 'User-Agent': getInputHeader(input.claudeHeaders, 'user-agent') || CLAUDE_DEFAULT_USER_AGENT, Connection: 'keep-alive', Accept: input.stream ? 'text/event-stream' : 'application/json', - 'Accept-Encoding': input.stream ? 'identity' : 'gzip, deflate, br, zstd', + 'Accept-Encoding': 'identity', }; if (input.isClaudeOauthUpstream) { headers.Authorization = `Bearer ${input.tokenValue}`; diff --git a/src/server/proxy-core/providers/registry.test.ts b/src/server/proxy-core/providers/registry.test.ts index 8b7c746..e8e149c 100644 --- a/src/server/proxy-core/providers/registry.test.ts +++ b/src/server/proxy-core/providers/registry.test.ts @@ -70,6 +70,7 @@ describe('resolveProviderProfile', () => { expect(result.headers.Authorization).toBe('Bearer oauth-access-token'); expect(result.headers['x-api-key']).toBeUndefined(); expect(result.headers['anthropic-version']).toBe('2023-06-01'); + expect(result.headers['Accept-Encoding']).toBe('identity'); expect(result.runtime).toMatchObject({ executor: 'claude', modelName: 'claude-opus-4-6', diff --git a/src/server/routes/proxy/chat.count-tokens.test.ts b/src/server/routes/proxy/chat.count-tokens.test.ts index 831485b..8c1c2b1 100644 --- a/src/server/routes/proxy/chat.count-tokens.test.ts +++ b/src/server/routes/proxy/chat.count-tokens.test.ts @@ -145,7 +145,7 @@ describe('claude count_tokens proxy route', () => { expect(targetUrl).toBe('https://api.anthropic.com/v1/messages/count_tokens?beta=true'); expect(options.headers['anthropic-version']).toBe('2023-06-01'); expect(options.headers['anthropic-beta']).toContain('claude-code-20250219'); - expect(options.headers['Accept-Encoding']).toBe('gzip, deflate, br, zstd'); + expect(options.headers['Accept-Encoding']).toBe('identity'); const forwardedBody = JSON.parse(String(options.body)); expect(forwardedBody.model).toBe('claude-opus-4-6'); diff --git a/src/server/routes/proxy/upstreamEndpoint.test.ts b/src/server/routes/proxy/upstreamEndpoint.test.ts index 8492532..3b52b2f 100644 --- a/src/server/routes/proxy/upstreamEndpoint.test.ts +++ b/src/server/routes/proxy/upstreamEndpoint.test.ts @@ -867,7 +867,7 @@ describe('buildUpstreamEndpointRequest', () => { expect(request.headers['Accept-Encoding']).toBe('identity'); }); - it('uses claude-code beta headers and compressed non-stream responses for claude upstream requests', () => { + it('uses claude-code beta headers and uncompressed non-stream responses for claude upstream requests', () => { const request = buildUpstreamEndpointRequest({ endpoint: 'messages', modelName: 'claude-opus-4-6', @@ -887,7 +887,7 @@ describe('buildUpstreamEndpointRequest', () => { expect(request.headers['anthropic-beta']).toContain('oauth-2025-04-20'); expect(request.headers['anthropic-beta']).toContain('context-management-2025-06-27'); expect(request.headers.Accept).toBe('application/json'); - expect(request.headers['Accept-Encoding']).toBe('gzip, deflate, br, zstd'); + expect(request.headers['Accept-Encoding']).toBe('identity'); }); it('converts system roles to developer in native codex responses bodies', () => { diff --git a/src/server/routes/proxy/upstreamEndpoint.ts b/src/server/routes/proxy/upstreamEndpoint.ts index 9a7aec9..0f73d46 100644 --- a/src/server/routes/proxy/upstreamEndpoint.ts +++ b/src/server/routes/proxy/upstreamEndpoint.ts @@ -443,7 +443,7 @@ function buildClaudeRuntimeHeaders(input: { 'User-Agent': getInputHeader(input.claudeHeaders, 'user-agent') || CLAUDE_DEFAULT_USER_AGENT, Connection: 'keep-alive', Accept: input.stream ? 'text/event-stream' : 'application/json', - 'Accept-Encoding': input.stream ? 'identity' : 'gzip, deflate, br, zstd', + 'Accept-Encoding': 'identity', }; if (input.isClaudeOauthUpstream) { headers.Authorization = `Bearer ${input.tokenValue}`;