Skip to content

ChatGPT login token exchange may fail with 403 unsupported country when system/VPN routing is not fully captured #7

@luolinjian45

Description

@luolinjian45

While preparing codex-fast-proxy for ChatGPT account login, provider auth split succeeded and the proxy status became ready:

  • provider: packycode
  • base_url: http://127.0.0.1:8787/v1
  • upstream_base: https://www.packyapi.com/v1
  • login_mode: chatgpt
  • chatgpt_auth: true
  • chatgpt_login_compatible: true
  • upstream_auth: override_configured
  • upstream_api_key_source: provider_auth_file
  • needs_restart: false
  • fast_behavior: app_controlled

However, during ChatGPT official account login, Codex App showed:

Login server error: Token exchange failed: token endpoint returned status 403 Forbidden: Country, region, or territory not supported

The login later succeeded after closing ccswitch and switching VPN to global + TUN mode.

This seems to indicate that the ChatGPT OAuth/token exchange request may depend on the system/WebView network route rather than only the Codex model provider proxy. If VPN/proxy rules do not capture all traffic, OpenAI may see an unsupported egress region and reject the token exchange.

Suggested docs improvement:
Add troubleshooting for this specific ChatGPT login error:

  • Confirm codex-fast-proxy status is ready and needs_restart=false.
  • Confirm provider auth split is prepared.
  • Check whether system proxy/VPN/TUN mode captures Codex App/WebView login traffic.
  • Check whether tools such as ccswitch or provider switchers are changing routing/proxy behavior.
  • Mention OpenAI’s unsupported region/token exchange behavior separately from provider auth failures.

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