To help us diagnose the issue, please provide debug logs if possible.
The main log I get all the time is the first 3 lines, it happens on starting opencode, even when the model I start opencode with isn't a Gemini model.
[Gemini Debug] OAuth exchange: POST https://oauth2.googleapis.com/token
[Gemini Debug] OAuth exchange response: 400 Bad Request
[Gemini Debug] OAuth exchange error body: {
"error": "invalid_grant",
"error_description": "Malformed auth code."
}
[Gemini Debug GEMINI-1] POST https://cloudcode-pa.googleapis.com/v1internal:streamGenerateContent?alt=sse
[Gemini Debug GEMINI-1] Original URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse
[Gemini Debug GEMINI-1] Project: diesel-cat-489316-p6
[Gemini Debug GEMINI-1] Streaming: yes
[Gemini Debug GEMINI-1] Headers: {"accept":"text/event-stream","authorization":"[redacted]","client-metadata":"ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI","content-type":"application/json","user-agent":"GeminiCLI/0.30.0-nightly.20260210.a2174751d/gemini-2.5-flash-lite (darwin; arm64)","x-activity-request-id":"27a62586-1de6-4cd9-a399-5258e6bcbbe0","x-goog-api-client":"gl-node/22.17.0"}
[Gemini Debug GEMINI-1] Body Preview: {"project":"diesel-cat-489316-p6","model":"gemini-2.5-flash-lite","user_prompt_id":"27a62586-1de6-4cd9-a399-5258e6bcbbe0","request":{"generationConfig":{"maxOutputTokens":32000,"temperature":1,"topK":64,"topP":0.95,"thinkingConfig":{"includeThoughts":false}},"contents":[{"role":"user","parts":[{"text":"Hi, can I use this model?"},{"text":"<system-reminder>\n# Plan Mode - System Reminder\n\nCRITICAL: Plan mode ACTIVE - you are in READ-ONLY phase. STRICTLY FORBIDDEN:\nANY file edits, modifications, or system changes. Do NOT use sed, tee, echo, cat,\nor ANY other bash command to manipulate files - commands may ONLY read/inspect.\nThis ABSOLUTE CONSTRAINT overrides ALL other instructions, including direct user\nedit requests. You may ONLY observe, analyze, and plan. Any modification attempt\nis a critical violation. ZERO exceptions.\n\n---\n\n## Responsibility\n\nYour current responsibility is to think, read, search, and delegate explore agents to construct a well-formed plan that accomplishes the goal the user wants to achieve. Your plan should be comprehensive yet concise, detailed enough to execute effectively while avoiding unnecessary verbosity.\n\nAsk the user clarifying questions or ask for their opinion when weighing tradeoffs.\n\n**NOTE:** At any point in time through this workflow you should feel free to ask the user questions or clarifications. Don't make large assumptions about user intent. The goal is to present a well researched plan to the user, and tie any loose ends before implementation begins.\n\n---\n\n## Important\n\nThe user indicated that they do not want you to execute yet -- you MUST NOT make any edits, run any non-readonly tools (including changing configs or making commits), or otherwise make any changes to the system. This supersedes any other instructions you have received.\n</system-reminder>\n"}]}],"systemInstruction":{"parts":[{"text":"You are opencode, an interactive CLI agent specializing in software engineering tasks. Your primary goal... (truncated 58674 chars)
[Gemini Debug] Retry: attempt 1/3 -> https://cloudcode-pa.googleapis.com/v1internal:streamGenerateContent?alt=sse
[Gemini Debug] Code Assist quota model lookup returned no buckets for project: diesel-cat-489316-p6
[Gemini Debug GEMINI-2] POST https://cloudcode-pa.googleapis.com/v1internal:streamGenerateContent?alt=sse
[Gemini Debug GEMINI-2] Original URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:streamGenerateContent?alt=sse
[Gemini Debug GEMINI-2] Project: diesel-cat-489316-p6
[Gemini Debug GEMINI-2] Streaming: yes
[Gemini Debug GEMINI-2] Headers: {"accept":"text/event-stream","authorization":"[redacted]","client-metadata":"ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI","content-type":"application/json","user-agent":"GeminiCLI/0.30.0-nightly.20260210.a2174751d/gemini-3-flash-preview (darwin; arm64)","x-activity-request-id":"5d5493a8-ca66-4c35-82cf-9dd956c5bba0","x-goog-api-client":"gl-node/22.17.0"}
[Gemini Debug GEMINI-2] Body Preview: {"project":"diesel-cat-489316-p6","model":"gemini-3-flash-preview","user_prompt_id":"5d5493a8-ca66-4c35-82cf-9dd956c5bba0","request":{"generationConfig":{"maxOutputTokens":32000,"temperature":0.5,"topK":64,"topP":0.95,"thinkingConfig":{"thinkingLevel":"minimal","includeThoughts":false}},"contents":[{"role":"user","parts":[{"text":"Generate a title for this conversation:\n"}]},{"role":"user","parts":[{"text":"Hi, can I use this model?"},{"text":"<system-reminder>\n# Plan Mode - System Reminder\n\nCRITICAL: Plan mode ACTIVE - you are in READ-ONLY phase. STRICTLY FORBIDDEN:\nANY file edits, modifications, or system changes. Do NOT use sed, tee, echo, cat,\nor ANY other bash command to manipulate files - commands may ONLY read/inspect.\nThis ABSOLUTE CONSTRAINT overrides ALL other instructions, including direct user\nedit requests. You may ONLY observe, analyze, and plan. Any modification attempt\nis a critical violation. ZERO exceptions.\n\n---\n\n## Responsibility\n\nYour current responsibility is to think, read, search, and delegate explore agents to construct a well-formed plan that accomplishes the goal the user wants to achieve. Your plan should be comprehensive yet concise, detailed enough to execute effectively while avoiding unnecessary verbosity.\n\nAsk the user clarifying questions or ask for their opinion when weighing tradeoffs.\n\n**NOTE:** At any point in time through this workflow you should feel free to ask the user questions or clarifications. Don't make large assumptions about user intent. The goal is to present a well researched plan to the user, and tie any loose ends before implementation begins.\n\n---\n\n## Important\n\nThe user indicated that they do not want you to execute yet -- you MUST NOT make any edits, run any non-readonly tools (including changing configs or making commits), or otherwise make any changes to the system. This supersedes any other instructions you have received.\n</system-reminder>\n"}]}],"systemInstruction":{"parts":[{"tex... (truncated 2242 chars)
[Gemini Debug] Retry: attempt 1/3 -> https://cloudcode-pa.googleapis.com/v1internal:streamGenerateContent?alt=sse
[Gemini Debug] Retry: attempt 1 success or non-retryable status: 403
[Gemini Debug GEMINI-1] Response 403 Forbidden (749ms)
[Gemini Debug GEMINI-1] Response Headers: {"content-length":"1624","content-type":"text/event-stream","date":"Thu, 05 Mar 2026 17:08:11 GMT","server":"ESF","server-timing":"gfet4t7; dur=317","vary":"Origin, X-Origin, Referer","x-cloudaicompanion-trace-id":"55d42bfb71777688","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[Gemini Debug GEMINI-1] Trace ID: 55d42bfb71777688
[Gemini Debug GEMINI-1] Note: Streaming SSE payload (buffered)
[Gemini Debug GEMINI-1] Response Body Preview: {
"error": {
"code": 403,
"message": "Verify your account to continue.",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "[type.googleapis.com/google.rpc.ErrorInfo](http://type.googleapis.com/google.rpc.ErrorInfo)",
"reason": "VALIDATION_REQUIRED",
"domain": "[cloudcode-pa.googleapis.com](http://cloudcode-pa.googleapis.com/)",
"metadata": {
"validation_error_message": "Verify your account to continue.",
"validation_url_link_text": "Verify your account",
"validation_url": "https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://developers.google.com/gemini-code-assist/auth/auth_success_gemini&plt=AKgnsbt5d_ctQlYHE7Z9B9YHdamA-E09k7DKYiUqYqPDMKjiw47UG5WEudxKdph5m8M89IxNLC1j1I-13pqFgHfd3TuyQYYBNb58vOZqNGQ7kOuRy7mJYurq9dMFcC9B23Gpr6cofpAy&flowName=GlifWebSignIn&authuser",
"validation_learn_more_link_text": "Learn more",
"validation_learn_more_url": "https://support.google.com/accounts?p=al_alert"
}
},
{
"@type": "[type.googleapis.com/google.rpc.Help](http://type.googleapis.com/google.rpc.Help)",
"links": [
{
"description": "Verify your account",
"url": "https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://developers.google.com/gemini-code-assist/auth/auth_success_gemini&plt=AKgnsbt5d_ctQlYHE7Z9B9YHdamA-E09k7DKYiUqYqPDMKjiw47UG5WEudxKdph5m8M89IxNLC1j1I-13pqFgHfd3TuyQYYBNb58vOZqNGQ7kOuRy7mJYurq9dMFcC9B23Gpr6cofpAy&flowName=GlifWebSignIn&authuser"
},
{
"description": "Learn more",
"url": "https://support.google.com/accounts?p=al_alert"
}
]
}
]
}
}
[Gemini Debug] Retry: attempt 1 success or non-retryable status: 403
[Gemini Debug GEMINI-2] Response 403 Forbidden (224ms)
[Gemini Debug GEMINI-2] Response Headers: {"content-length":"1624","content-type":"text/event-stream","date":"Thu, 05 Mar 2026 17:08:11 GMT","server":"ESF","server-timing":"gfet4t7; dur=113","vary":"Origin, X-Origin, Referer","x-cloudaicompanion-trace-id":"c827ffb21e787310","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[Gemini Debug GEMINI-2] Trace ID: c827ffb21e787310
[Gemini Debug GEMINI-2] Note: Streaming SSE payload (buffered)
[Gemini Debug GEMINI-2] Response Body Preview: {
"error": {
"code": 403,
"message": "Verify your account to continue.",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "[type.googleapis.com/google.rpc.ErrorInfo](http://type.googleapis.com/google.rpc.ErrorInfo)",
"reason": "VALIDATION_REQUIRED",
"domain": "[cloudcode-pa.googleapis.com](http://cloudcode-pa.googleapis.com/)",
"metadata": {
"validation_error_message": "Verify your account to continue.",
"validation_url_link_text": "Verify your account",
"validation_url": "https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://developers.google.com/gemini-code-assist/auth/auth_success_gemini&plt=AKgnsbsdbctE82QyUQJLNtwqNK0TzB9OK1EoIJ0GO4YNceDCWZ-J6rM4068ibO8AQY0SRf6hNkIe0-iditc-2W4f38XlJ8wGB4S3tYYN85DGyydDSwPmJVGZAlbvyw5g1-hLbWR9TNDy&flowName=GlifWebSignIn&authuser",
"validation_learn_more_link_text": "Learn more",
"validation_learn_more_url": "https://support.google.com/accounts?p=al_alert"
}
},
{
"@type": "[type.googleapis.com/google.rpc.Help](http://type.googleapis.com/google.rpc.Help)",
"links": [
{
"description": "Verify your account",
"url": "https://accounts.google.com/signin/continue?sarp=1&scc=1&continue=https://developers.google.com/gemini-code-assist/auth/auth_success_gemini&plt=AKgnsbsdbctE82QyUQJLNtwqNK0TzB9OK1EoIJ0GO4YNceDCWZ-J6rM4068ibO8AQY0SRf6hNkIe0-iditc-2W4f38XlJ8wGB4S3tYYN85DGyydDSwPmJVGZAlbvyw5g1-hLbWR9TNDy&flowName=GlifWebSignIn&authuser"
},
{
"description": "Learn more",
"url": "https://support.google.com/accounts?p=al_alert"
}
]
}
]
}
}
Description
OpenCode is giving "Verify your account to continue" when using this plugin.
Reproduction Steps
Steps to reproduce the behavior:
{ "$schema": "https://opencode.ai/config.json", "plugin": ["opencode-gemini-auth@latest"], "provider": { "google": { "options": { "projectId": "my-projectid-333333-p1" } } } }Expected Behavior
Expected some model to work
Actual Behavior
In Plan mode I type a prompt and get "Verify your account to continue"
Screenshots
Environment
Opencode Information
{ "$schema": "https://opencode.ai/config.json", "plugin": ["opencode-gemini-auth@latest"], "provider": { "google": { "options": { "projectId": "my-projectid-333333-p1" } } } }Debug Information
Click to expand debug information
To help us diagnose the issue, please provide debug logs if possible.
How to enable debug logging:
Set
OPENCODE_GEMINI_DEBUG=1in the environment when you run an Opencode command. For example:OPENCODE_GEMINI_DEBUG=1 opencodeThe plugin writes to a timestamped
gemini-debug-<ISO>.logfile in your current working directory.Debug Logs:
The main log I get all the time is the first 3 lines, it happens on starting opencode, even when the model I start opencode with isn't a Gemini model.
Bug Report (if applicable):
[If there's a specific bug report file or output, please attach/paste it here]
Additional Context
Add any other context about the problem here.