Improve ChatGPT subscription response resilience - #57891
Merged
Merged
Conversation
Contributor
|
I'm okay with this as a workaround, but I think we should revisit it in a few weeks and rollback when OpenAI fixes their issue |
osyvokon
approved these changes
May 28, 2026
|
I can't ever enable ChatGPT subscription for the pasts several versions of Zed including the latest one, always getting "Failed to save credentials. Please try again" ... Codex CLI works fine, but auth via subscription don't. |
This was referenced May 28, 2026
Closed
notJoon
pushed a commit
to notJoon/zed
that referenced
this pull request
May 29, 2026
TomPlanche
pushed a commit
to TomPlanche/zed
that referenced
this pull request
Jun 2, 2026
## Summary This started from zed-industries#57636, after we saw ChatGPT subscription/Codex requests stall over the past week. OpenCode v1.15.11 shipped related resilience fixes for the same class of Codex subscription endpoint issues, so this ports the relevant pieces into Zed's native ChatGPT subscription provider. When Zed asks ChatGPT/Codex for a response, sometimes the server connection can get stuck before it even sends the first response headers. Before this PR, Zed could wait indefinitely, which looks like OpenCode/Zed “stalling.” This PR makes Zed: - Wait up to 10 seconds for the server to start responding. - If nothing comes back in that window, treat it as a temporary network/API failure. - Let the existing retry logic try again instead of leaving the user stuck. - Send a stable session-id header so OpenAI’s Codex backend can associate requests with the same Zed agent thread. - Add tests to make sure: - stuck-before-response requests time out, - normal slow streaming responses are not cut off, - ChatGPT subscription requests send the right session header, - the agent retries this kind of failure. intended user-facing result is: fewer “the assistant is just sitting there forever” failures when using ChatGPT subscription models. ## Verification - cargo test -p open_ai responses - cargo test -p language_models openai_subscribed - cargo test -p agent test_send_retry_on_http_send_error - cargo check -p open_ai - cargo check -p language_models - cargo check -p agent Release Notes: - Fixed ChatGPT subscription requests stalling indefinitely before response headers arrive.
TomPlanche
pushed a commit
to TomPlanche/zed
that referenced
this pull request
Jun 2, 2026
This was referenced Jun 17, 2026
This was referenced Jul 1, 2026
This was referenced Jul 10, 2026
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
## Summary This started from zed-industries#57636, after we saw ChatGPT subscription/Codex requests stall over the past week. OpenCode v1.15.11 shipped related resilience fixes for the same class of Codex subscription endpoint issues, so this ports the relevant pieces into Zed's native ChatGPT subscription provider. When Zed asks ChatGPT/Codex for a response, sometimes the server connection can get stuck before it even sends the first response headers. Before this PR, Zed could wait indefinitely, which looks like OpenCode/Zed “stalling.” This PR makes Zed: - Wait up to 10 seconds for the server to start responding. - If nothing comes back in that window, treat it as a temporary network/API failure. - Let the existing retry logic try again instead of leaving the user stuck. - Send a stable session-id header so OpenAI’s Codex backend can associate requests with the same Zed agent thread. - Add tests to make sure: - stuck-before-response requests time out, - normal slow streaming responses are not cut off, - ChatGPT subscription requests send the right session header, - the agent retries this kind of failure. intended user-facing result is: fewer “the assistant is just sitting there forever” failures when using ChatGPT subscription models. ## Verification - cargo test -p open_ai responses - cargo test -p language_models openai_subscribed - cargo test -p agent test_send_retry_on_http_send_error - cargo check -p open_ai - cargo check -p language_models - cargo check -p agent Release Notes: - Fixed ChatGPT subscription requests stalling indefinitely before response headers arrive.
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
## Summary This started from zed-industries#57636, after we saw ChatGPT subscription/Codex requests stall over the past week. OpenCode v1.15.11 shipped related resilience fixes for the same class of Codex subscription endpoint issues, so this ports the relevant pieces into Zed's native ChatGPT subscription provider. When Zed asks ChatGPT/Codex for a response, sometimes the server connection can get stuck before it even sends the first response headers. Before this PR, Zed could wait indefinitely, which looks like OpenCode/Zed “stalling.” This PR makes Zed: - Wait up to 10 seconds for the server to start responding. - If nothing comes back in that window, treat it as a temporary network/API failure. - Let the existing retry logic try again instead of leaving the user stuck. - Send a stable session-id header so OpenAI’s Codex backend can associate requests with the same Zed agent thread. - Add tests to make sure: - stuck-before-response requests time out, - normal slow streaming responses are not cut off, - ChatGPT subscription requests send the right session header, - the agent retries this kind of failure. intended user-facing result is: fewer “the assistant is just sitting there forever” failures when using ChatGPT subscription models. ## Verification - cargo test -p open_ai responses - cargo test -p language_models openai_subscribed - cargo test -p agent test_send_retry_on_http_send_error - cargo check -p open_ai - cargo check -p language_models - cargo check -p agent Release Notes: - Fixed ChatGPT subscription requests stalling indefinitely before response headers arrive.
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
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.
Summary
This started from #57636, after we saw ChatGPT subscription/Codex requests stall over the past week. OpenCode v1.15.11 shipped related resilience fixes for the same class of Codex subscription endpoint issues, so this ports the relevant pieces into Zed's native ChatGPT subscription provider.
When Zed asks ChatGPT/Codex for a response, sometimes the server connection can get stuck before it even sends the first response headers. Before this PR, Zed could wait indefinitely, which looks like OpenCode/Zed “stalling.”
This PR makes Zed:
intended user-facing result is: fewer “the assistant is just sitting there forever” failures when using ChatGPT subscription models.
Verification
Release Notes: