Teknium
cbfa018aef
fix(auth): retry Codex device-code login on 429 with clear rate-limit message ( #47860 )
...
The OpenAI device-code login (POST auth.openai.com/.../deviceauth/usercode)
had no retry or 429 handling — a transient throttle from OpenAI surfaced as
a bare "Device code request returned status 429" with no guidance, reading
as a hard login failure.
- Retry the device-code request with capped exponential backoff (honoring
Retry-After), up to 4 attempts.
- On persistent 429, raise a clear AuthError tagged CODEX_RATE_LIMITED_CODE
(classified transient, not a credential problem) with a wait hint.
- Apply the same 429 classification to the token-exchange step (same bug
class).
Unrelated to PR #47399 (Responses-API cache headers); this is the OAuth
device-code path in hermes_cli/auth.py.
2026-06-17 05:48:35 -07:00
..
2026-06-10 12:14:57 +10:00
2026-06-14 08:42:06 -07:00
2026-06-10 02:21:00 -07:00
2026-06-13 02:36:09 -07:00
2026-06-07 01:21:58 -07:00
2026-06-08 15:12:12 -07:00
2026-06-08 11:57:03 -07:00
2026-06-17 05:48:35 -07:00
2026-06-15 05:51:47 -07:00
2026-06-11 09:01:52 -07:00
2026-06-11 10:49:47 -07:00
2026-06-01 19:51:03 -07:00
2026-06-08 11:29:53 -07:00
2026-06-15 13:33:12 -07:00
2026-06-17 12:36:01 +05:30
2026-06-01 19:51:03 -07:00
2026-06-17 05:40:26 -07:00
2026-06-15 20:51:48 +10:00
2026-06-10 20:46:17 -07:00
2026-06-17 05:20:32 -07:00
2026-06-01 16:58:58 -07:00
2026-06-09 13:56:33 +10:00
2026-06-03 19:37:04 -07:00
2026-06-15 12:24:46 -07:00
2026-06-15 12:31:23 -07:00
2026-06-06 19:53:58 -07:00
2026-06-17 05:19:21 -07:00
2026-05-31 01:16:33 -07:00
2026-06-06 18:22:38 -07:00
2026-06-16 13:04:07 -07:00
2026-06-13 05:50:09 -07:00
2026-06-06 19:29:00 -07:00
2026-06-07 06:14:24 -07:00
2026-06-04 07:39:53 -07:00
2026-06-03 05:41:35 -07:00
2026-06-16 15:40:55 -05:00
2026-06-05 07:54:08 -05:00
2026-06-14 04:24:14 -07:00
2026-06-14 04:46:54 -07:00
2026-06-14 04:24:14 -07:00
2026-05-30 07:45:26 -07:00
2026-06-04 14:03:02 +10:00
2026-06-06 23:07:25 +05:30
2026-06-08 22:31:06 -07:00
2026-06-10 00:24:06 -07:00
2026-06-13 13:47:08 -07:00
2026-06-16 11:50:17 -07:00
2026-06-16 13:07:52 -07:00
2026-06-16 13:09:40 -07:00
2026-06-12 08:51:10 +00:00
2026-06-11 07:51:01 -07:00
2026-05-30 07:31:48 -07:00
2026-06-13 13:23:59 -07:00
2026-06-13 02:36:09 -07:00
2026-06-04 02:20:31 +05:30
2026-06-07 21:50:57 -07:00
2026-06-15 11:43:23 +10:00
2026-06-08 15:53:09 -07:00
2026-06-08 07:03:12 -07:00
2026-06-14 02:09:16 -07:00
2026-06-06 18:36:40 -07:00
2026-06-12 11:48:06 -07:00
2026-06-15 14:10:51 +10:00
2026-06-15 07:46:34 -07:00
2026-06-11 07:51:01 -07:00
2026-06-14 13:50:36 -07:00
2026-06-14 22:54:54 +05:30
2026-06-11 10:49:47 -07:00
2026-06-10 21:39:22 -04:00
2026-06-11 10:49:47 -07:00
2026-06-05 03:20:10 -07:00
2026-06-14 03:20:21 -07:00
2026-06-14 16:47:57 -07:00
2026-06-06 18:22:38 -07:00
2026-06-17 05:40:57 -07:00
2026-06-08 11:32:43 -07:00
2026-06-09 23:21:14 -07:00