Skip to content

400: reasoning.summary not stripped for gpt-5.3-codex-spark #1

Description

@salty-flower

Problem

When Claude Code sends a request with reasoning.summary parameter to the proxy, and the target model is gpt-5.3-codex-spark via a ChatGPT/Codex OAuth profile, the parameter is forwarded as-is to the Codex Responses endpoint, which rejects it:

API Error: 400 Unsupported parameter: 'reasoning.summary' is not supported with the 'gpt-5.3-codex-spark' model.

Expected behavior

claudex should strip reasoning.summary (and potentially other Anthropic-specific thinking/reasoning parameters) before forwarding to the Codex Responses API, similar to how strip_params = "auto" handles temperature/top_p/top_k for chatgpt.com endpoints.

Setup

  • claudex v0.9.49
  • Profile: codex-sub (OpenAIResponses, ChatGPT OAuth)
  • Claude Code v2.1.168 with per-model endpoint routing (custom patch)
  • ANTHROPIC_MODEL_BASE_URL_gpt_5_3_codex_spark pointed at claudex proxy
  • Claude Code effort level: high (default)

Reproduction

claudex-config proxy start -p 51456 &

curl -s "http://127.0.0.1:51456/proxy/codex-sub/v1/messages" \
  -H "content-type: application/json" \
  -H "x-api-key: passthrough" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "gpt-5.3-codex-spark",
    "max_tokens": 100,
    "stream": true,
    "reasoning": {"summary": "auto"},
    "messages": [{"role": "user", "content": "hi"}]
  }'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions