Summary
grok-composer-2.5-fast is exposed through the Grok Build provider and accepts requests, but OpenAI-compatible routed calls can return stale/unrelated prior-session output instead of answering the current prompt.
This appears to be distinct from image-input issue #3746. Native Grok Build headless mode can answer the same Composer model correctly, so the failure looks specific to the CLIProxyAPI Grok Build routing/session/parsing path rather than the upstream xAI harness itself.
Environment
Native control passes
Native Grok Build headless Composer call returns the exact marker:
grok -p 'Reply exactly: NATIVE_COMPOSER_260607_SMOKE' \
-m grok-composer-2.5-fast \
--output-format plain \
--no-subagents \
--disable-web-search
Observed:
NATIVE_COMPOSER_260607_SMOKE
Router reproduction
/v1/models advertises these Composer routes:
grok-composer-2.5-fast
grok-default/grok-composer-2.5-fast
grok-green/grok-composer-2.5-fast
grok-yellow/grok-composer-2.5-fast
Example request:
curl -sS http://127.0.0.1:8317/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model":"grok-default/grok-composer-2.5-fast",
"messages":[{"role":"user","content":"Reply exactly: ROUTER_CHAT_default_260607"}],
"max_tokens":20,
"temperature":0
}'
Expected:
ROUTER_CHAT_default_260607
Observed examples across the three profiles and both Chat Completions/Responses:
grok-default/grok-composer-2.5-fast sometimes returns unrelated prior-work text, e.g. Reading the configuration file to locate the Gemini section and thread-count settings.
grok-green/grok-composer-2.5-fast returned unrelated Web Search tool calls for UCLA residence-hall queries.
grok-yellow/grok-composer-2.5-fast returned a long unrelated prior transcript about a network routing optimizer and repeated the marker many times.
/v1/responses also returned unrelated previous task content, e.g. reasoning about 1+1=? or local network-interface setup, before eventually mentioning the marker.
The regular Grok Build route works on the same router:
curl -sS http://127.0.0.1:8317/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model":"grok-default/grok-build-0.1",
"messages":[{"role":"user","content":"Reply exactly: ROUTER_BUILD_260607_SMOKE"}],
"max_tokens":20,
"temperature":0
}'
Observed:
ROUTER_BUILD_260607_SMOKE
Probable root cause
It looks like the Grok Composer route is not isolated per API request, or CLIProxyAPI is parsing/replaying an existing Grok Build session/transcript instead of returning only the current response. The strongest clue is that stale outputs include unrelated previous prompts, tool calls, and repeated old markers, while native grok -p -m grok-composer-2.5-fast answers the exact-marker prompt correctly.
Impact
Composer 2.5 appears available in /v1/models, but external OpenAI-compatible clients cannot rely on it because they may receive stale content from another session/request.
Summary
grok-composer-2.5-fastis exposed through the Grok Build provider and accepts requests, but OpenAI-compatible routed calls can return stale/unrelated prior-session output instead of answering the current prompt.This appears to be distinct from image-input issue #3746. Native Grok Build headless mode can answer the same Composer model correctly, so the failure looks specific to the CLIProxyAPI Grok Build routing/session/parsing path rather than the upstream xAI harness itself.
Environment
7.1.50-pr3726-pr3734(4f55ecc+pr3726+pr3734), a local build based on v7.1.50 with PR Retry upstream "unexpected EOF" errors instead of returning them to the client #3726 and PR Fix xAI Responses input normalization for replayed histories #3734 appliedgrok 0.2.32 (5cb5dfeb8)http://127.0.0.1:8317/v1grok-default,grok-green,grok-yellowNative control passes
Native Grok Build headless Composer call returns the exact marker:
grok -p 'Reply exactly: NATIVE_COMPOSER_260607_SMOKE' \ -m grok-composer-2.5-fast \ --output-format plain \ --no-subagents \ --disable-web-searchObserved:
Router reproduction
/v1/modelsadvertises these Composer routes:Example request:
Expected:
Observed examples across the three profiles and both Chat Completions/Responses:
grok-default/grok-composer-2.5-fastsometimes returns unrelated prior-work text, e.g.Reading the configuration file to locate the Gemini section and thread-count settings.grok-green/grok-composer-2.5-fastreturned unrelatedWeb Searchtool calls for UCLA residence-hall queries.grok-yellow/grok-composer-2.5-fastreturned a long unrelated prior transcript about a network routing optimizer and repeated the marker many times./v1/responsesalso returned unrelated previous task content, e.g. reasoning about1+1=?or local network-interface setup, before eventually mentioning the marker.The regular Grok Build route works on the same router:
Observed:
Probable root cause
It looks like the Grok Composer route is not isolated per API request, or CLIProxyAPI is parsing/replaying an existing Grok Build session/transcript instead of returning only the current response. The strongest clue is that stale outputs include unrelated previous prompts, tool calls, and repeated old markers, while native
grok -p -m grok-composer-2.5-fastanswers the exact-marker prompt correctly.Impact
Composer 2.5 appears available in
/v1/models, but external OpenAI-compatible clients cannot rely on it because they may receive stale content from another session/request.