jif
b3ffe3d001
Recover MCP servers after OAuth reauthentication ( #37337 )
...
## Why
An OAuth-backed Streamable HTTP MCP server can fail startup when its stored credentials are rejected. If a client then completes OAuth sign-in and replaces those credentials, the failed server needs to become available without restarting the Codex session.
## What changed
- Track the credential store and OAuth tokens used for each MCP connection, and detect replacements after authentication failures.
- Refresh affected MCP servers before the next turn and include their recovered tools in the model request.
- Classify HTTP authentication challenges and rejected refresh tokens as requiring reauthentication, with sign-in guidance appropriate to local and client-managed environments.
## Testing
- Cover recovery from expired credentials through an externally written replacement token.
- Cover authentication-error classification, startup messaging, and `Auto` store migration from file credentials to the keyring.
GitOrigin-RevId: 9b090089d4e7a44ffc182f4e25da20a18e97b70f
2026-08-07 00:17:46 +00:00
..
2026-08-04 00:51:53 +00:00
2026-06-08 13:55:15 -07:00
2026-06-08 13:55:15 -07:00
2026-08-04 12:36:14 +00:00
2026-07-25 01:05:33 +00:00
2026-07-22 19:31:54 +00:00
2026-07-22 02:19:45 +00:00
2026-08-03 21:37:17 +00:00
2026-07-22 19:31:54 +00:00
2026-08-05 20:03:13 +00:00
2026-07-31 15:40:52 +00:00
2026-07-09 03:40:08 +00:00
2026-07-28 21:58:33 +00:00
2026-07-31 17:12:10 +00:00
2026-07-08 15:27:04 -07:00
2026-08-06 13:37:07 +00:00
2026-07-21 14:57:39 +00:00
2026-07-31 20:49:08 +00:00
2026-07-22 01:23:44 +00:00
2026-08-04 22:07:56 +00:00
2026-08-04 15:23:43 +00:00
2026-07-31 20:49:08 +00:00
2026-07-30 16:44:18 +00:00
2026-06-19 05:35:57 -07:00
2026-07-20 19:23:21 +00:00
2026-06-18 14:09:38 +02:00
2026-07-21 19:17:18 +00:00
2026-07-30 04:03:33 +00:00
2026-08-04 15:23:43 +00:00
2026-08-03 15:59:00 +00:00
2026-08-06 00:37:46 +00:00
2026-08-03 18:51:46 +00:00
2026-08-01 01:03:42 +00:00
2026-08-05 18:19:22 +00:00
2026-08-04 23:04:11 +00:00
2026-07-25 16:06:54 +00:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-07-21 18:23:26 +00:00
2026-08-06 11:18:24 +00:00
2026-08-04 15:23:43 +00:00
2026-08-03 18:51:46 +00:00
2026-08-06 13:37:07 +00:00
2026-08-05 21:45:33 +00:00
2026-07-30 01:37:41 +00:00
2026-08-04 23:04:11 +00:00
2026-05-18 21:03:51 -07:00
2026-07-30 20:24:29 +00:00
2026-08-06 11:03:31 +00:00
2026-07-31 20:49:08 +00:00
2026-08-05 20:03:13 +00:00
2026-06-08 13:55:15 -07:00
2026-07-31 20:49:08 +00:00
2026-08-04 17:13:13 +00:00
2026-07-17 16:07:24 +00:00
2026-07-30 15:50:04 +00:00
2026-07-29 18:06:14 +00:00
2026-07-20 19:23:21 +00:00
2026-06-08 13:55:15 -07:00
2026-08-04 18:52:41 +00:00
2026-08-03 19:30:40 +00:00
2026-08-05 20:03:13 +00:00
2026-08-05 22:26:59 +00:00
2026-07-14 10:37:23 +00:00
2026-08-03 19:30:40 +00:00
2026-07-22 20:23:35 +00:00
2026-06-08 13:55:15 -07:00
2026-08-04 15:23:43 +00:00
2026-08-01 01:17:26 +00:00
2026-08-05 20:39:11 +00:00
2026-08-05 20:03:13 +00:00
2026-06-08 13:55:15 -07:00
2026-07-30 11:41:47 +00:00
2026-07-20 19:23:21 +00:00
2026-08-06 03:53:05 +00:00
2026-08-04 22:58:02 +00:00
2026-06-08 13:55:15 -07:00
2026-08-05 04:07:59 +00:00
2026-07-22 00:50:28 +00:00
2026-08-04 15:23:43 +00:00
2026-07-31 20:49:08 +00:00
2026-08-04 18:09:58 +00:00
2026-08-07 00:17:46 +00:00
2026-08-03 09:46:38 +00:00
2026-07-23 19:19:35 +00:00
2026-07-06 17:04:26 +00:00
2026-07-08 16:24:12 -07:00
2026-08-05 04:07:59 +00:00
2026-07-31 15:34:03 +00:00
2026-06-23 14:27:13 -07:00
2026-08-03 14:14:41 +00:00
2026-06-08 13:55:15 -07:00
2026-08-05 21:17:54 +00:00
2026-08-05 19:51:51 +00:00
2026-08-06 00:22:06 +00:00
2026-08-03 18:51:46 +00:00
2026-07-23 00:02:15 +00:00
2026-07-23 00:02:15 +00:00
2026-08-04 12:36:14 +00:00
2026-08-04 20:48:40 +00:00
2026-06-15 21:53:47 -07:00
2026-06-15 21:53:47 -07:00
2026-08-05 08:01:47 +00:00
2026-08-03 18:51:46 +00:00
2026-06-15 21:53:47 -07:00
2026-07-27 18:07:31 +00:00
2026-07-21 19:17:18 +00:00
2026-08-03 23:33:05 +00:00
2026-08-04 15:23:43 +00:00
2026-08-06 03:11:42 +00:00
2026-06-08 13:55:15 -07:00
2026-06-16 10:37:06 -07:00
2026-08-06 03:15:08 +00:00
2026-08-04 17:55:28 +00:00
2026-06-08 13:55:15 -07:00
2026-06-15 21:53:47 -07:00
2026-07-21 19:17:18 +00:00
2026-08-05 06:38:57 +00:00