diff --git a/internal/runtime/executor/claude_executor.go b/internal/runtime/executor/claude_executor.go index ee0dfd80..fb20526b 100644 --- a/internal/runtime/executor/claude_executor.go +++ b/internal/runtime/executor/claude_executor.go @@ -551,8 +551,8 @@ func applyClaudeHeaders(r *http.Request, apiKey string, stream bool) { misc.EnsureHeader(r.Header, ginHeaders, "X-Stainless-Arch", "arm64") misc.EnsureHeader(r.Header, ginHeaders, "X-Stainless-Os", "MacOS") misc.EnsureHeader(r.Header, ginHeaders, "X-Stainless-Timeout", "60") + misc.EnsureHeader(r.Header, ginHeaders, "User-Agent", "claude-cli/1.0.83 (external, cli)") r.Header.Set("Connection", "keep-alive") - r.Header.Set("User-Agent", "claude-cli/1.0.83 (external, cli)") r.Header.Set("Accept-Encoding", "gzip, deflate, br, zstd") if stream { r.Header.Set("Accept", "text/event-stream") diff --git a/internal/runtime/executor/codex_executor.go b/internal/runtime/executor/codex_executor.go index 30562c51..e0e04598 100644 --- a/internal/runtime/executor/codex_executor.go +++ b/internal/runtime/executor/codex_executor.go @@ -532,6 +532,7 @@ func applyCodexHeaders(r *http.Request, auth *cliproxyauth.Auth, token string) { misc.EnsureHeader(r.Header, ginHeaders, "Version", "0.21.0") misc.EnsureHeader(r.Header, ginHeaders, "Openai-Beta", "responses=experimental") misc.EnsureHeader(r.Header, ginHeaders, "Session_id", uuid.NewString()) + misc.EnsureHeader(r.Header, ginHeaders, "User-Agent", "codex_cli_rs/0.50.0 (Mac OS 26.0.1; arm64) Apple_Terminal/464") r.Header.Set("Accept", "text/event-stream") r.Header.Set("Connection", "Keep-Alive")