mirror of
https://github.com/openai/codex.git
synced 2026-10-22 17:58:46 +00:00
## Why A failed provider catalog refresh could discard model metadata and disable tool search on subsequent turns, even after a successful discovery. ## What changed Keep the last successful catalog, ETag, and original freshness when refreshes fail without an access rejection. Continue invalidating cached catalogs for HTTP `401`/`403`, rejected refresh tokens, and gateway credentials that require login. Distinguish `GatewayLoginRequired` from login in progress so only the former invalidates the catalog. Successful empty responses remain authoritative, and cached catalogs remain scoped to the provider and authentication identity. ## Testing Add regression coverage for catalog preservation across refresh errors and restarts, access rejection invalidation, identity isolation, and tool search and instruction stability on the next turn after a failed refresh. GitOrigin-RevId: 9dd7c73ac2cc1fd49664efd93b839baa94e05c49