Skip to content

fix(xai): bump pinned grok client version to 1.0.44 for chat-proxy - #6252

Merged
luispater merged 1 commit into
router-for-me:devfrom
ggbdpq:fix/xai-grok-client-version-bump
Oct 1, 2026
Merged

luispater merged 1 commit into
router-for-me:devfrom
ggbdpq:fix/xai-grok-client-version-bump

Conversation

@ggbdpq

@ggbdpq ggbdpq commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Summary

xAI raised the minimum accepted x-grok-client-version on cli-chat-proxy.grok.com, so every xAI OAuth chat request through the CLI chat-proxy fails with HTTP 426 (Your Grok CLI version (0.2.120) is outdated). /v1/models is not gated, so discovery and auth look healthy while inference is dead (#6249).

  • Bump the pin to the current stable Grok CLI version (1.0.44, verified against x.ai/cli/stable and npm by the reporter) and record the observed server floor (1.0.13) in the constant's comment.
  • Both x-grok-client-version and the derived User-Agent: xai-grok-workspace/<ver> ship from the one constant, so both go out current.
  • Regression tests lock three contracts: the pin meets the known server floor (red against 0.2.120), the two identity headers stay derived from the same constant, and the per-auth header:* custom header override still wins over the pin — the documented operator escape hatch when xAI ratchets the floor again.

No new config/env surface: the per-auth override the reporter verified live (426 → 200) already provides the escape hatch and is per-credential. A global knob can follow separately if wanted.

Closes #6249

Verification

Claim Command Result
Pinned version meets the server floor — red before (0.2.120), green after go test -p 2 -count=1 -run TestXAIChatProxyClientVersionMeetsServerFloor ./internal/runtime/executor/ red → pass
x-grok-client-version and User-Agent derive from one constant go test -p 2 -count=1 -run TestXAIChatProxyIdentityHeadersDeriveFromOneConstant ./internal/runtime/executor/ pass
Per-auth header:* override beats the pin (escape hatch intact) go test -p 2 -count=1 -run TestXAIChatProxyCustomHeadersOverridePinnedVersion ./internal/runtime/executor/ pass
Full executor package go test -p 2 -count=1 ./internal/runtime/executor/ pass
Compile go build -o test-output ./cmd/server pass
Format gofmt on changed files (CRLF-normalized check) clean

Live end-to-end against cli-chat-proxy.grok.com needs an xAI OAuth credential and is not exercised locally; the reporter already verified the identical override path returns 200 with version 1.0.44.

AI use

Implemented with GLM-5.3-Flash (ZCode). Commit carries the Generated-by trailer.

Checklist

  • Base is upstream/dev
  • No internal/translator/ changes
  • Existing tests reference the constant name, not the literal version — none broken

xAI raised the minimum accepted x-grok-client-version on
cli-chat-proxy.grok.com, so every xAI OAuth chat request through the CLI
chat-proxy failed with HTTP 426 ("Your Grok CLI version (0.2.120) is
outdated"). /v1/models is not gated, so discovery looked healthy while
inference was dead.

Bump the pin to the current stable Grok CLI version (1.0.44) and record
the observed server floor in the constant's comment. Both
x-grok-client-version and the derived User-Agent ship from this one
constant.

Regression tests lock three things: the pinned version meets the known
server floor (red against 0.2.120), the two identity headers stay
derived from the same constant, and the per-auth `header:*` custom
header override still wins over the pin - the documented operator
escape hatch when xAI ratchets the floor again.

Closes router-for-me#6249

Generated-by: GLM-5.3-Flash (ZCode)
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@jimbb

jimbb commented Sep 30, 2026

Copy link
Copy Markdown

Confirming this fix on v8.0.4 (Windows). Same HTTP 426 "Your Grok CLI version (0.2.120) is outdated" on every xAI OAuth chat request through cli-chat-proxy.

As a stopgap until this merges, I set "headers": {"x-grok-client-version": "1.0.44", "User-Agent": "xai-grok-workspace/1.0.44"} in the xAI auth JSON. applyXAIChatHeaders applies auth-file headers after the pinned ones, and inference works again, so 1.0.44 is accepted by the server.

@ggbdpq

ggbdpq commented Sep 30, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the independent confirmation — that the server accepts 1.0.44 is exactly the evidence the bump needed. Your auth-JSON headers block and the per-attribute header:* form are two layers of the same mechanism (the synthesizer expands the block into per-header attributes, which applyXAIChatHeaders then applies after the pin), so once this merges your stopgap can be removed.

@jockiller

Copy link
Copy Markdown

When will the new version be released?

@luispater
luispater merged commit fd48ea6 into router-for-me:dev Oct 1, 2026
3 checks passed
github-actions Bot added a commit to omarcresp/cliproxyapi-flake that referenced this pull request Oct 1, 2026
## server 8.0.8

<!-- cliproxyapi-linux-release-assets:start -->
## Linux release assets

- `CLIProxyAPI_<version>_linux_<arch>.tar.gz` is the default Linux build. It supports dynamic library plugins and is built against a GLIBC 2.17 baseline.
- `CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gz` is the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.

## FreeBSD release assets

- `CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gz` is the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.

<!-- cliproxyapi-linux-release-assets:end -->

## Changelog

- fix(xai): bump pinned grok client version to 1.0.44 for chat-proxy (b467a83c)
- Merge pull request #6252 from ggbdpq/fix/xai-grok-client-version-bump (fd48ea68)


## What's Changed
* fix(xai): bump pinned grok client version to 1.0.44 for chat-proxy by @ggbdpq in router-for-me/CLIProxyAPI#6252


**Full Changelog**: router-for-me/CLIProxyAPI@v8.0.7...v8.0.8


Upstream release: https://github.com/router-for-me/CLIProxyAPI/releases/tag/v8.0.8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants