What version of Codex is running?
openai/codex current main in v0.101.0.
What issue are you seeing?
The Codex client sends requests to our internal Envoy-based model gateway. Our gateway rejects HTTP headers that contain underscores (_) session_id.
This behavior is intentional on our side and aligns with common HTTP best practices. Underscores in HTTP header names are discouraged due to interoperability issues with common web servers and proxies, which often ignore or drop such headers by default.
As a result, requests from the Codex client fail when underscore-containing headers are present.
Why this matters
While we can relax the validation rule in our gateway, we prefer not to, since:
- It aligns with widely adopted HTTP conventions.
- It avoids subtle interoperability issues across proxies and infrastructure components.
- It maintains consistency with common production hardening practices.
Request
Would it be possible for the Codex client to switch from underscore-separated header names to dash-separated header names (e.g., x-foo-bar instead of x_foo_bar)?
Using dash-separated headers would improve compatibility with common HTTP infrastructure without requiring downstream gateways to weaken validation rules.
What version of Codex is running?
openai/codex current main in v0.101.0.
What issue are you seeing?
The Codex client sends requests to our internal Envoy-based model gateway. Our gateway rejects HTTP headers that contain underscores (_)
session_id.This behavior is intentional on our side and aligns with common HTTP best practices. Underscores in HTTP header names are discouraged due to interoperability issues with common web servers and proxies, which often ignore or drop such headers by default.
As a result, requests from the Codex client fail when underscore-containing headers are present.
Why this matters
While we can relax the validation rule in our gateway, we prefer not to, since:
Request
Would it be possible for the Codex client to switch from underscore-separated header names to dash-separated header names (e.g., x-foo-bar instead of x_foo_bar)?
Using dash-separated headers would improve compatibility with common HTTP infrastructure without requiring downstream gateways to weaken validation rules.