-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Open
Description
OpenCode GitHub Issue Report
Issue Title
Gemini 3 models fail with "Invalid JSON payload received. Unknown name 'parameters'" error when using antigravity-auth plugin
Issue Description
When using google/antigravity-gemini-3-flash or google/antigravity-gemini-3-pro models, OpenCode fails with a 400 error due to invalid tool schema format for Gemini API.
Error Message
Invalid JSON payload received. Unknown name "parameters" at 'request.tools[0]': Cannot find field.
Status: 400
Requested Model: antigravity-gemini-3-flash
Effective Model: gemini-3-flash
Endpoint: https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:streamGenerateContent?alt=sse
Tool Debug Payload (Problematic)
The tool schema being sent to Gemini contains an incorrectly formatted structure:
[{
"functionDeclarations": [...],
"parameters": {
"type": "OBJECT",
"properties": {
"_placeholder": {
"type": "BOOLEAN",
"description": "Placeholder. Always pass true."
}
},
"required": ["_placeholder"]
}
}]Expected Behavior
Tool schemas should be formatted according to Gemini API specifications, with:
- Proper
type: "object"(lowercase) - No
_placeholderparameters - No unsupported JSON Schema fields like
$schema - String-only enum values
Environment
- OpenCode Version: v1.1.23 (latest)
- Plugin: opencode-antigravity-auth@1.2.8
- OS: Windows
- Model: google/antigravity-gemini-3-flash (all variants fail)
- Project: J:\apps\max-Translator\max-ai-omni-translator
Related Issues
- OpenCode AI_APICallError: GenerateContentRequest.tools[0].function_declarations[32].parameters. required[0]: property is not defined with Gemini API #3140: "AI_APICallError: GenerateContentRequest.tools[0].function_declarations[32].parameters. required[0]: property is not defined"
- OpenCode sanitize tools for Gemini 3 compatibility #4512: "sanitize tools for Gemini 3 compatibility" (fixed in PR fix: transform MCP tool schemas for Google/Gemini compatibility #4538 but issue persists)
- OpenCode OpenCode plus Zen Gemini 3 Pro model causes errors #4665: "OpenCode plus Zen Gemini 3 Pro model causes errors"
- Qwen Code feat(provider): add groq support #1186: "API Error 400 with Gemini model: Invalid JSON payload received. Unknown name '$schema'"
Reproduction Steps
- Install opencode-antigravity-auth@beta plugin
- Configure google/antigravity-gemini-3-flash model
- Run:
opencode run "Hello" --model=google/antigravity-gemini-3-flash - Observe 400 error with "Unknown name 'parameters'" message
Workaround
Claude models (antigravity-claude-sonnet-4-5-thinking) work correctly with the same configuration.
Suggested Fix
Implement proper tool schema sanitization for Gemini API:
- Remove
$schemafield from tool parameter schemas - Convert non-string enum values to strings
- Ensure
typefield uses lowercase values - Remove placeholder parameters like
_placeholder - Validate schema against Gemini's expected format
See OpenCode PR #4538 for previous attempts at fixing similar issues.
shazsyedparazeeknova
Metadata
Metadata
Assignees
Labels
No labels