Repository navigation
fix(gateway): declare hosted web_search for replayed history - #504
Merged
Merged
Conversation
Yicheng-1218
marked this pull request as ready for review
October 15, 2026 06:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Codex can replay historical web_search_call input during context compaction while sending tools: [], causing upstream internal_error: response protection is unavailable (openai/codex#51962). This patch conditionally declares web_search with external_web_access false for Codex /v1/responses requests, sets tool_choice none when no tools were originally requested, avoids duplicate declarations, and leaves other endpoints and providers untouched. Regression tests cover historical replay, existing tools, already-declared search, ordinary requests, and non-Codex upstreams. A local middleware applying the equivalent transformation successfully restored compaction of the original failing session (13 requests, 1 patched). Rust compilation and formatting await CI because cargo is unavailable locally. Related error-handling report: #501.