Document the WebSocket responses opt-out - #4770
Open
1fanwang wants to merge 2 commits into
Open
Conversation
Models advertising a WebSocket responses endpoint use it by default, and the environment variable that falls back to the HTTP transport is not listed anywhere users can find it. It is the documented recovery for networks that block WebSocket connections and for sessions that start failing with a connection-bound input item ID error. Signed-off-by: 1fanwang <1fannnw@gmail.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Clarify the inverse SDK option and add PowerShell instructions.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Documents disabling WebSocket responses to fall back to HTTP.
Changes:
- Adds the opt-out environment variable.
- Explains relevant failure scenarios and SDK configuration.
File summaries
| File | Description |
|---|---|
README.md |
Documents HTTP fallback configuration for WebSocket response failures. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The README documents Windows support but the workaround only had POSIX export syntax, and calling it equivalent to the SDK option was ambiguous because the two have opposite polarity. Signed-off-by: 1fanwang <1fannnw@gmail.com>
This was referenced Sep 9, 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.
Why
Models that advertise a WebSocket responses endpoint use it by default. When that transport is unusable, either because the network blocks WebSocket connections or because a session starts failing with
400 input item ID does not belong to this connection, there is a working escape hatch, but nothing user-facing points to it.COPILOT_CLI_DISABLE_WEBSOCKET_RESPONSESis not listed incopilot help environmentand is not in the README. The only public description lives in an SDK type comment, which CLI users do not read. People hitting this are left changing models by trial and error, and switching between two models that both use the transport appears to do nothing.Related: #4505
What changed
A short subsection under Using the CLI naming the variable, the two situations it addresses, and its relationship to the SDK session option.
Testing
Ran the same prompt with and without the variable under
--log-level debug, in an isolated home directory, and counted use of the WebSocket responses network module.Raw logs
Repeating the second run with
--model gpt-5.6-terraalso reported zeroWebSocket responses connections.