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
To use an access token directly, select `Import ChatGPT access token`, enter an account label, then paste the ChatGPT OAuth access token when prompted. The token must be a valid, unexpired ChatGPT OAuth JWT that includes both the ChatGPT user ID and account or workspace ID used for Codex routing.
55
+
56
+
Access-token imports are non-refreshable unless the same account was already added through OAuth. When an imported token expires or receives an authorization failure, the plugin disables that account and you need to import a fresh ChatGPT access token. Re-importing a token for the same ChatGPT identity updates the saved token; if that identity already has an OAuth refresh token, the refresh token is preserved.
57
+
48
58
From the management flow you can:
49
59
50
60
- Inspect which account is currently active for routing
@@ -64,15 +74,17 @@ While the plugin is active, `openai` OAuth is treated as the Codex subscription
64
74
## Requirements
65
75
66
76
- OpenCode with npm plugin loading enabled
67
-
- A Codex-compatible OpenAI account
77
+
- A Codex-compatible OpenAI account or a valid ChatGPT OAuth access token
68
78
- Bun for local development and test runs
69
79
70
80
## Behavior
71
81
82
+
- Supports browser OAuth, headless device-code login, and direct ChatGPT OAuth access-token imports
72
83
- Sticky account selection
73
84
- Switches immediately on `429`
74
85
- Tracks per-account Codex usage windows from response headers and `GET /backend-api/wham/usage`
75
86
- Respects 5-hour, weekly, and alternate metered-bucket exhaustion during account rotation
87
+
- Disables expired or unauthorized access-token-only accounts instead of trying OAuth refresh
0 commit comments