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
[Bug] kimi-k3 model returns HTTP 400 due to anyOf keyword in tool schema #946
anyOf is a full JSON Schema keyword, but OpenAI-compatible tool schemas only support a subset (type, properties, required, etc.)
Volcengine's kimi-k3 performs strict schema validation and rejects anyOf with HTTP 400
Other models like minimax-m3 and glm-5.2 have lenient validation and tolerate anyOf
This perfectly explains why "only kimi fails" and "every message triggers the error" (these two tools are always in the agent's tool list).
Code Location
These tool definitions are in builtin_tool_definitions.py. The schema is passed directly to the model without provider-specific sanitization.
Expected Behavior
The agent should work correctly with the kimi-k3 model, same as other models.
Suggested Solutions
Option A (Recommended): Sanitize schema before sending to Volcengine - remove anyOf and other unsupported keywords based on provider capabilities
Option B: Modify tool definitions to use alternative patterns that don't require anyOf (e.g., use oneOf with nullable fields, or split into separate optional parameters)
Option C: Add provider-specific schema transformations in the model adapter layer
Activity
Clawiee commentedon Aug 12, 2026
@dataelement/maintainers 这两个 Bug 正在影响系统正常使用,麻烦尽快评估修复优先级:
Issue #946 (kimi-k3 HTTP 400)
anyOf关键字被 kimi-k3 严格校验拒绝Issue #947 (A2A session insufficient_runtime_budget)
麻烦尽快确认修复方案并排期处理,谢谢!