You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
OpenRouter xAI/Grok tool schemas fail when additionalProperties: false is emitted #23704
Tool calling fails in OpenCode for xAI models via OpenRouter because emitted tool/input JSON schemas include additionalProperties: false, which xAI rejects.
Repro
Model:
openrouter/x-ai/grok-4.1-fast
Observed error:
[xAI] Invalid request content: Schema validation failed: [standard_violation] /properties/properties/additionalProperties: property schema 'false' is not supported
Notes
This happens on the native OpenCode OpenRouter path, not from external plugins.
OpenCode currently runs tool schemas through ProviderTransform.schema(...) before handing them to the model. For xAI via OpenRouter, that transform should strip additionalProperties: false recursively.
Why this is safe
xAI structured output docs state:
additionalProperties defaults to false
schemas with boolean property schemas like false are rejected
So omitting explicit additionalProperties: false preserves behavior while avoiding the xAI validator error.
Proposed fix
In packages/opencode/src/provider/transform.ts, add an xAI/OpenRouter schema sanitizer:
apply only when providerID === "openrouter" and model.api.id.startsWith("x-ai/")
recursively remove additionalProperties: false
preserve additionalProperties: true and object-valued additionalProperties
Related context
OpenCode already has related provider-specific schema sanitization work:
The root cause is in @ai-sdk/provider-utils's addAdditionalPropertiesToJsonSchema function, which unconditionally adds additionalProperties: false to all object schemas during tool serialization. A proper fix needs to happen there.
Activity
github-actions commentedon Apr 21, 2026
This issue might be a duplicate of an existing issue. Please check:
dotCipher commentedon Apr 21, 2026
Sorry for the double add, closing the other and using this one instead
fix(provider): sanitize xAI tool schemas for OpenRouter and native xa…
dotCipher commentedon Apr 21, 2026
Attempted a fix, but ended up failing after thorough testing: #23706 (comment)
Still an open issue here
dotCipher commentedon Apr 21, 2026
Also filed upstream at Vercel AI: vercel/ai#14678
The root cause is in
@ai-sdk/provider-utils'saddAdditionalPropertiesToJsonSchemafunction, which unconditionally addsadditionalProperties: falseto all object schemas during tool serialization. A proper fix needs to happen there.github-actions commentedon Jul 3, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.