Field report (beta.3)
Users on Altimate Base hit Provider response headers timed out after 10000ms in the TUI.
Root cause
The altimate-free provider loader borrowed the openai loader's 10s header timeout (OPENAI_HEADER_TIMEOUT_DEFAULT), added in #1256 to catch a hung gateway. Altimate Base's gateway holds the HTTP 200 until the backend's first token; queue wait / cold start / reasoning latency routinely exceeds 10s, so healthy requests abort at the client.
nginx already streams the completions path (proxy_buffering off, proxy_read_timeout 900s), so the delay is litellm holding headers until the first upstream token — the client timeout is the correct remedy.
Fix
Give the free tier its own generous header timeout (300_000ms, matching the SSE chunk watchdog) plus an ALTIMATE_BASE_HEADER_TIMEOUT_MS env override. The free-tier provider is excluded from opencode.json config merging, so no user-facing override existed before.
Field report (beta.3)
Users on Altimate Base hit
Provider response headers timed out after 10000msin the TUI.Root cause
The
altimate-freeprovider loader borrowed theopenailoader's 10s header timeout (OPENAI_HEADER_TIMEOUT_DEFAULT), added in #1256 to catch a hung gateway. Altimate Base's gateway holds the HTTP 200 until the backend's first token; queue wait / cold start / reasoning latency routinely exceeds 10s, so healthy requests abort at the client.nginx already streams the completions path (
proxy_buffering off,proxy_read_timeout 900s), so the delay is litellm holding headers until the first upstream token — the client timeout is the correct remedy.Fix
Give the free tier its own generous header timeout (
300_000ms, matching the SSE chunk watchdog) plus anALTIMATE_BASE_HEADER_TIMEOUT_MSenv override. The free-tier provider is excluded fromopencode.jsonconfig merging, so no user-facing override existed before.