You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: separate manual-switch timing from selection-order timing
A manual Codex switch and a selection-order write have different timings, and
five docs surfaces still described the pre-PR guarantee for the first one.
`resetCodexRoutingForManualSelection` calls `clearThreadAccountMap`, so a switch
moves running threads on their next request; only requests already in flight keep
the account they captured. An order write never touches affinity and applies from
the next unbound request.
- The `ocx account use` subsection in all five `reference/cli.md` locales still
said Codex selections "apply only to new sessions; existing threads keep their
account". CodeRabbit flagged ru and zh-cn and asked me to double-check the
canonical English; English was wrong too, so all five are corrected against
`account.ts:260`, which is the wording the command actually prints.
- The blanket line in the `account` help block covered both verbs with the
switch's timing. Split into two sentences, one per verb, and the switch half now
says running threads move rather than only naming in-flight requests. The five
cli.md help blocks mirror the block verbatim, so they carry the same split.
- `guides/web-dashboard.md` in all five locales carried the same false
bound-thread claim -- the file I missed when correcting seven other surfaces --
and listed only two of the three pin-clearing triggers. Both fixed, plus the
order bullet now states the from-next-unbound-request timing.
- `structure/05` claimed the priority route is the only operator-facing way to
clear a pin without selecting another account. A null-id `PUT /active` clears
one too; the priority route is the only one that clears it while leaving the
selected account in place.
The spark-scope regression test asserted only that shared state was untouched,
which would also hold if the request never reached `applyFailureFailover`. It now
asserts the routed account first: "a" is selectable again by then, so routing away
from it is what proves the guarded branch ran.
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/ja/reference/cli.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -216,7 +216,8 @@ remove <provider> <id> --yes Remove a stored account or key after an existence
216
216
add-key <provider> [--label <label>] Add a key read only from piped stdin.
217
217
login/reauth/code/cancel Run browser or manual-code auth from a headless shell.
218
218
reset-credits <id|main> [--consume --yes] Inspect or consume Codex reset credits.
219
-
Codex pool switches take effect immediately; in-flight requests keep their captured account.
219
+
Switching the active account takes effect immediately; running threads move on their next request, and in-flight requests keep the account they captured.
220
+
A selection-order change applies from the next unbound request and never moves a bound thread.
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/ko/reference/cli.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -220,7 +220,8 @@ remove <provider> <id> --yes Remove a stored account or key after an existence
220
220
add-key <provider> [--label <label>] Add a key read only from piped stdin.
221
221
login/reauth/code/cancel Run browser or manual-code auth from a headless shell.
222
222
reset-credits <id|main> [--consume --yes] Inspect or consume Codex reset credits.
223
-
Codex pool switches take effect immediately; in-flight requests keep their captured account.
223
+
Switching the active account takes effect immediately; running threads move on their next request, and in-flight requests keep the account they captured.
224
+
A selection-order change applies from the next unbound request and never moves a bound thread.
224
225
```
225
226
226
227
모든 하위 명령은 프록시가 실행 중이어야 하며 CLI가 기록된 런타임 포트를 자동으로 찾습니다. 성공은
@@ -275,9 +276,9 @@ API 오류는 종료 코드 1입니다. 자격 증명 필드는 management API
275
276
#### `ocx account use <provider> <account-or-key-id|main> [--json]`
276
277
277
278
기존 Codex 계정, OAuth 계정 또는 API key를 선택합니다. `openai`에서 `main`은 Codex App 로그인을
278
-
선택합니다. Codex 선택은 **새 세션**부터 적용되며 기존 thread는 현재 계정을 유지합니다. auto-switch
279
-
threshold가 켜져 있으면 나중에 수동 pin을 덮어쓸 수 있습니다. 알 수 없는 프로바이더나 id는 종료
280
-
코드 1입니다. `--json`은 다음을 반환합니다.
279
+
선택합니다. Codex 선택은 **곧바로 적용**됩니다. 실행 중인 thread는 다음 요청에서 옮겨가고, 이미 전송
280
+
중인 요청만 가져간 계정을 그대로 씁니다. auto-switch threshold가 켜져 있으면 나중에 수동 pin을
281
+
덮어쓸 수 있습니다. 알 수 없는 프로바이더나 id는 종료 코드 1입니다. `--json`은 다음을 반환합니다.
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/reference/cli.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -276,7 +276,8 @@ remove <provider> <id> --yes Remove a stored account or key after an existence
276
276
add-key <provider> [--label <label>] Add a key read only from piped stdin.
277
277
login/reauth/code/cancel Run browser or manual-code auth from a headless shell.
278
278
reset-credits <id|main> [--consume --yes] Inspect or consume Codex reset credits.
279
-
Codex pool switches take effect immediately; in-flight requests keep their captured account.
279
+
Switching the active account takes effect immediately; running threads move on their next request, and in-flight requests keep the account they captured.
280
+
A selection-order change applies from the next unbound request and never moves a bound thread.
280
281
```
281
282
282
283
All subcommands require the proxy to be running; the CLI auto-resolves its recorded runtime port.
@@ -332,8 +333,9 @@ returns:
332
333
#### `ocx account use <provider> <account-or-key-id|main> [--json]`
333
334
334
335
Selects an existing Codex account, OAuth account, or API key. For `openai`, `main` selects the Codex
335
-
App login. Codex selections apply only to **new sessions**; existing threads keep their account, and
336
-
an enabled auto-switch threshold may later override the manual pin. Unknown providers or ids exit 1.
336
+
App login. A Codex selection **takes effect immediately**: running threads move on their next request,
337
+
and only requests already in flight keep the account they captured. An enabled auto-switch threshold
338
+
may later override the manual pin. Unknown providers or ids exit 1.
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/ru/reference/cli.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -232,7 +232,8 @@ remove <provider> <id> --yes Remove a stored account or key after an existence
232
232
add-key <provider> [--label <label>] Add a key read only from piped stdin.
233
233
login/reauth/code/cancel Run browser or manual-code auth from a headless shell.
234
234
reset-credits <id|main> [--consume --yes] Inspect or consume Codex reset credits.
235
-
Codex pool switches take effect immediately; in-flight requests keep their captured account.
235
+
Switching the active account takes effect immediately; running threads move on their next request, and in-flight requests keep the account they captured.
236
+
A selection-order change applies from the next unbound request and never moves a bound thread.
236
237
```
237
238
238
239
Все подкоманды требуют работающего прокси; CLI автоматически определяет записанный runtime-порт.
@@ -293,9 +294,10 @@ plan/label по цепочке фолбэков использует план,
293
294
#### `ocx account use <provider> <account-or-key-id|main> [--json]`
294
295
295
296
Выбирает существующий аккаунт Codex, OAuth-аккаунт или API-ключ. Для `openai` значение `main`
296
-
выбирает вход Codex App. Выбор для Codex применяется только к **новым сессиям**; существующие
297
-
потоки сохраняют свой аккаунт, а включённый порог автопереключения может позже переопределить
298
-
ручное закрепление. Неизвестные провайдеры или id завершаются с кодом 1. `--json` возвращает:
297
+
выбирает вход Codex App. Выбор для Codex **применяется сразу**: работающие потоки переходят на новый
298
+
аккаунт со следующего запроса, и только уже отправленные запросы сохраняют захваченный аккаунт.
299
+
Включённый порог автопереключения может позже переопределить ручное закрепление. Неизвестные
300
+
провайдеры или id завершаются с кодом 1. `--json` возвращает:
0 commit comments