Neil and Eilon Goldberg
dfab4a89c9
feat(codex): opt-in to use default ~/.codex config dir, stopping auth revocation war
...
Fixes #5370 .
Orca injects a private managed CODEX_HOME into Codex processes. For a single
OpenAI/ChatGPT account, OAuth enforces one active session, so two independently
refreshing homes (Orca's managed home and the user's ~/.codex) revoke each
other's single-use refresh tokens — silently breaking non-Orca Codex usage.
The refresh is driven both by interactive Codex and by Orca's BACKGROUND quota
poller, which spawns the real codex binary against the managed home.
Adds an opt-in "Use default Codex config directory" setting (Settings >
Accounts > Codex). When enabled:
- PTY launches inject no CODEX_HOME (all three buildPtyHostEnv sites OR in
isCodexDefaultHomeEnabled), so terminals resolve ~/.codex.
- The background quota poller and host Codex launches resolve the system
~/.codex home instead of spawning codex against the managed home — closing
the revocation gap that persisted even after the ~/.zshenv workaround.
Supersedes community PR #5594 : re-derives the locale changes (drops the
out-of-scope "Create PR" status-message block, keeps only the new Codex keys),
closes the background-revocation gap left unaddressed by the original PR, and
sharpens the setting description to state it also disables the managed-home
quota refresh.
Co-authored-by: Eilon Goldberg <eilon@onyx.security >
2026-06-27 23:24:53 -07:00
..
2026-06-27 23:24:53 -07:00
2026-06-24 22:03:35 -07:00
2026-06-21 16:44:58 -07:00
2026-06-25 22:43:25 -07:00
2026-06-17 16:08:14 -07:00
2026-06-25 20:51:34 -07:00
2026-06-17 16:08:14 -07:00
2026-06-17 16:08:14 -07:00
2026-06-26 20:05:47 -07:00
2026-06-25 22:43:25 -07:00
2026-06-17 16:08:14 -07:00
2026-06-04 23:51:44 -07:00
2026-06-27 02:05:23 -07:00
2026-06-25 22:43:25 -07:00
2026-06-27 23:24:53 -07:00
2026-06-08 19:23:32 -04:00
2026-06-15 16:40:45 -07:00
2026-06-25 22:43:25 -07:00
2026-06-19 17:14:55 -07:00
2026-06-21 16:44:58 -07:00
2026-06-23 20:59:06 -07:00
2026-06-25 22:43:25 -07:00
2026-06-26 15:51:50 -07:00
2026-06-23 17:22:10 -07:00
2026-05-16 14:36:46 -07:00
2026-06-25 22:43:25 -07:00
2026-06-19 17:14:55 -07:00
2026-06-25 22:43:25 -07:00
2026-06-17 16:08:14 -07:00
2026-06-26 13:26:58 -07:00
2026-06-17 16:08:14 -07:00
2026-06-26 14:49:19 -07:00
2026-06-20 03:30:18 -07:00
2026-06-25 22:43:25 -07:00
2026-06-21 16:44:58 -07:00
2026-06-10 01:22:11 -07:00
2026-06-27 23:24:53 -07:00
2026-06-22 20:27:38 -07:00
2026-05-21 19:10:16 -07:00
2026-06-23 17:22:10 -07:00
2026-04-20 19:41:12 -07:00
2026-06-19 17:14:55 -07:00
2026-06-19 17:14:55 -07:00
2026-06-19 17:14:55 -07:00
2026-06-24 00:17:49 -07:00
2026-05-31 05:55:04 -07:00
2026-06-22 19:13:32 -07:00
2026-05-30 02:46:28 -07:00
2026-06-24 00:17:49 -07:00
2026-06-23 11:18:17 -07:00
2026-06-21 16:44:58 -07:00
2026-06-25 18:36:37 -07:00
2026-06-26 13:26:58 -07:00
2026-06-26 12:22:42 -07:00
2026-06-26 12:22:42 -07:00
2026-06-23 10:38:37 -07:00
2026-06-26 20:16:52 -07:00
2026-06-01 20:01:03 -04:00
2026-06-27 02:37:59 -07:00
2026-06-19 12:31:11 -07:00
2026-05-30 13:26:48 -07:00
2026-06-22 16:46:47 -07:00
2026-06-17 22:21:32 -07:00
2026-06-18 22:50:11 -07:00
2026-06-19 17:14:55 -07:00
2026-06-16 18:12:55 -07:00
2026-06-19 17:14:55 -07:00
2026-06-18 22:30:44 -07:00
2026-06-17 16:08:14 -07:00
2026-06-26 20:05:47 -07:00
2026-06-17 16:20:37 -07:00
2026-06-17 16:20:37 -07:00
2026-05-18 14:09:21 -07:00
2026-05-18 14:09:21 -07:00
2026-05-18 14:09:21 -07:00
2026-06-17 16:08:14 -07:00
2026-06-17 16:08:14 -07:00
2026-06-22 18:01:37 -07:00
2026-06-22 18:01:37 -07:00
2026-04-19 12:09:32 -07:00
2026-05-15 23:52:37 -07:00
2026-06-22 13:49:08 -07:00
2026-06-22 13:49:08 -07:00
2026-05-30 15:26:11 -04:00
2026-05-30 15:26:11 -04:00
2026-06-19 17:14:55 -07:00
2026-05-18 14:43:24 -07:00
2026-06-19 17:14:55 -07:00
2026-06-19 17:14:55 -07:00
2026-06-25 20:51:34 -07:00
2026-06-10 13:08:09 -07:00
2026-05-30 09:04:52 -07:00
2026-05-30 09:04:52 -07:00
2026-06-17 16:08:14 -07:00
2026-06-26 13:28:10 -07:00
2026-06-26 13:28:10 -07:00
2026-06-26 13:28:10 -07:00
2026-05-30 09:04:52 -07:00
2026-05-30 09:04:52 -07:00
2026-06-25 20:51:34 -07:00
2026-06-25 20:51:34 -07:00
2026-06-24 00:17:49 -07:00
2026-06-24 00:17:49 -07:00
2026-06-17 16:08:14 -07:00
2026-06-17 16:08:14 -07:00
2026-06-24 21:07:15 -04:00
2026-06-24 21:07:15 -04:00
2026-06-18 16:24:22 -07:00
2026-06-25 17:24:09 -07:00
2026-06-24 19:19:31 -07:00
2026-06-24 19:19:31 -07:00
2026-06-24 19:19:31 -07:00
2026-06-24 19:19:31 -07:00
2026-06-24 19:19:31 -07:00
2026-05-31 11:46:24 -07:00
2026-05-31 02:21:17 -07:00
2026-06-17 16:08:14 -07:00
2026-06-21 18:51:44 -07:00
2026-06-13 14:16:05 -07:00
2026-05-21 21:52:26 -07:00
2026-05-21 21:52:26 -07:00
2026-05-21 21:52:26 -07:00
2026-05-21 21:52:26 -07:00
2026-05-30 10:11:48 -07:00
2026-05-30 10:11:48 -07:00
2026-06-17 16:08:14 -07:00
2026-06-17 16:08:14 -07:00
2026-06-04 01:31:38 -07:00
2026-04-14 10:25:55 -07:00
2026-04-14 10:33:25 -07:00
2026-06-20 16:39:42 -07:00
2026-05-26 20:56:11 -07:00
2026-06-17 16:20:37 -07:00
2026-05-30 13:09:17 -07:00
2026-05-30 13:09:17 -07:00
2026-05-27 00:47:01 -07:00
2026-05-27 00:47:01 -07:00
2026-05-27 00:47:01 -07:00
2026-05-15 23:52:37 -07:00
2026-05-26 20:56:11 -07:00
2026-06-20 16:39:42 -07:00
2026-06-21 13:10:25 -07:00
2026-06-20 16:39:42 -07:00
2026-05-31 10:11:51 -07:00
2026-05-31 10:11:51 -07:00
2026-05-06 23:30:03 -07:00
2026-05-23 12:33:49 -07:00
2026-05-20 22:09:35 -07:00
2026-06-10 16:41:22 -04:00
2026-05-30 11:01:09 -07:00
2026-05-21 13:22:37 -07:00
2026-05-30 11:01:09 -07:00
2026-06-16 14:57:39 -07:00
2026-06-03 12:25:54 -07:00
2026-06-03 12:25:54 -07:00
2026-05-30 12:53:34 -07:00
2026-06-18 13:05:57 -07:00
2026-05-30 12:53:34 -07:00
2026-06-18 13:05:57 -07:00
2026-06-15 14:54:50 -07:00
2026-06-15 14:54:50 -07:00
2026-05-29 16:06:33 -07:00
2026-05-29 16:06:33 -07:00
2026-05-29 16:06:33 -07:00
2026-04-07 21:02:36 -04:00
2026-06-21 17:23:42 -07:00