[BUG] Unpredicatable user agent string used for (undocumented) connection probing process
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
At enterprise gateway level, in addition to "regular" user agent strings like claude-cli/2.1.205 (external, cli) sent by Claude, we are seeing traffic with user agent strings like these: Dmi/JS 0.94.0, MTi/JS 0.94.0, NNi/JS 0.94.0 etc. It took us a while to associate them with probing/pre-flight traffic sent by Claude Code immediately after launch, introduced somewhere around 2.1.205 (although we don't know the exact version number, and it's not in the changelog).
This is causing confusion for us to understand the traffic we are seeing, as well as the ability to potentially enforce restrictions on allowed clients.
The ask here: instead of obfuscated/random strings, use reliable, clearly identifiable user agent strings for probing traffic, with the ability to turn off the feature completely.
What Should Happen?
- The traffic clearly identifies itself as coming from Claude Code
- Claude Code provides the ability to turn off probing, with docs that clarify the current behavior
Error Messages/Logs
Steps to Reproduce
- Use a proxy and set up
HTTP_PROXYorHTTPS_PROXY(and configure certificate if necessary). Alternatively, set up a reverse proxy for LLM endpoint and point Claude Code to use that. API endpoint workflow may be necessary for this instead of Claude.ai. - Launch the latest version of Claude Code
- Observe user agent strings for traffic going through
Claude Model
_No response_
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.217
Platform
AWS Bedrock
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗