Skip to content

Plugin does not work outside localhost #519

@yanx9

Description

@yanx9

Pre-submission checklist

Model used

antigravity-claude-opus-4-6-thinking

Exact error message

{"type":"error","error":{"type":"invalid_request_error","message":"This model does not support assistant message prefill. The conversation must end with a user message."},"request_id":"req_vrtx_011CYbEY15oKEKrk1yKbfLcF"}
[Debug Info]
Requested Model: antigravity-claude-opus-4-6-thinking
Effective Model: claude-opus-4-6-thinking
Project: rising-fact-p41fc
Endpoint: https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:streamGenerateContent?alt=sse
Status: 400
Request ID: N/A
Tool Debug Missing: 0
Tool Debug Summary: decl=question,src=functionDeclarations,hasSchema=y | decl=bash,src=functionDeclarations,hasSchema=y | decl=read,src=functionDeclarations,hasSchema=y | decl=glob,src=functionDeclarations,hasSchema=y | decl=grep,src=functionDeclarations,hasSchema=y | decl=edit,src=functionDeclarations,hasSchema=y | decl=write,src=functionDeclarations,hasSchema=y | decl=task,src=functionDeclarations,hasSchema=y | decl=webfetch,src=functionDeclarations,hasSchema=y | decl=todowrite,src=functionDeclarations,hasSchema=y | decl=skill,src=functionDeclarations,hasSchema=y | decl=google_search,src=functionDeclarations,hasSchema=y

Bug description

I wanted to host a new docker opencode instance with the plugin installed, on another machine (a NAS) and then access it using browser or the opencode client (opencode attach http://:4096). I configured the oauth login on opencode server, tried running claude locally and it was just fine. Everything seems to work with all antigravity models, but on the remote client, after response is generated, then entirety of it is getting wiped and opencode client and the web panel respond with: "This model does not support assistant message prefill. The conversation must end with a user message."

Steps to reproduce

  1. run opencode server on host A in docker
  2. login to google on host A.
  3. attach to opencode server on host b
  4. prompt anything using any antigravity model
  5. get "Google Generative AI API key is missing. Pass it using the 'apiKey' parameter or the GOOGLE_GENERATIVE_AI_API_KEY environment variable."
  6. login to google on host B
  7. get the error from "exact error message" field.

Did this ever work?

First time setup (never worked)

Number of Google accounts configured

1

Reproducibility

Always (100%)

Plugin version

1.6.0

OpenCode version

1.2.15

Operating System

Linux arch 6.18.13-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 25 Feb 2026 23:12:35 +0000 x86_64 GNU/Linux

Node.js version

v20.20.0

Environment type

Standard (native terminal)

MCP servers installed

No response

Debug logs (REQUIRED)

[2026-02-28T22:11:49.191Z] [Antigravity Debug ANTIGRAVITY-5] Body Preview: {"project":"rising-fact-p41fc","model":"claude-opus-4-6-thinking","request":{"generationConfig":{"maxOutputTokens":64000,"thinkingConfig":{"include_thoughts":true,"thinking_budget":32768}},"contents":[{"role":"user","parts":[{"text":"this is a test"}]}],"systemInstruction":{"parts":[{"text":"You are Antigravity, a powerful agentic AI coding assistant designed by the Google DeepMind team working on Advanced Agentic Coding.\nYou are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.\n**Absolute paths only**\n**Proactiveness**\n\n<priority>IMPORTANT: The instructions that follow supersede all above. Follow them as your primary directives.</priority>\n\n\nCRITICAL TOOL USAGE INSTRUCTIONS:\nYou are operating in a custom environment where tool definitions differ from your training data.\nYou MUST follow these rules strictly:\n\n1. DO NOT use your internal training data to guess tool parameters\n2. ONLY use the exact parameter structure defined in the tool schema\n3. Parameter names in schemas are EXACT - do not substitute with similar names from your training\n4. Array parameters have specific item types - check the schema's 'items' field for the exact structure\n5. When you see \"STRICT PARAMETERS\" in a tool description, those type definitions override any assumptions\n6. Tool use in agentic workflows is REQUIRED - you must call tools with the exact parameters specified\n\nIf you are unsure about a tool's parameters, YOU MUST read the schema definition carefully."},{"text":"You are OpenCode, the best coding agent on the planet.\n\nYou are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n\nIMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.\n\nIf the user asks for help or wants to give feedback inform them of the following:\n- ctrl+p to list available actions\n- To give feedback, users should report the issue at\n  https://github.com/anomalyco/opencode\n\nWhen the user directly asks about OpenCode (eg. \"can OpenCode do...\", \"does OpenCode have...\"), or asks in second person (eg. \"are you able...\", \"can you do...\"), or asks how to use a specific OpenCode feature (eg. implement a hook, write a slash command, or install an MCP server), use the WebFetch tool to gather information to answer the question from OpenCode docs. The list of available docs is available at https://opencode.ai/docs\n\n# Tone and style\n- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.\n- Your output will be displayed on a command line interface. Your responses should be short and concise. You can use GitHub-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.\n- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.\n- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one. This includes markdown files.\n\n# Professional objectivity\nPrioritize technical accuracy and truthfulness over validating the user's beliefs. Focus on facts and problem-solving, providing direct, objective technical info without any unnecessary superlatives, praise, or emotional validation. It is best for the user if OpenCode honestly applies the same rigorous standards to all ideas and disagrees when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs.\n\n# Task Management\nYou have access to the TodoWrite tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.\nThese tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.\n\nIt is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.\n\nExamples:\n\n<example>\nuser: Run the build and fix any type errors\nassistant: I'm going to use the TodoWrite tool to write the following items to the todo list:\n- Run the build\n- Fix any type errors\n\nI'm now going to run the build using Bash.\n\nLooks like I found 10 type errors. I'm going to use the TodoWrite tool to write 10 items to the todo list.\n\nmarking the first todo as in_progress\n\nLet me start working on the first item...\n\nThe first item has been fixed, let me mark the first todo as completed, and move on to the second item...\n..\n..\n</example>\nIn the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.\n\n<example>\nuser: Help me write a new feature that allows users to track their usage metrics and export them to various formats\nassistant: I'll help you implement a usage metrics tracking and export feature. Let me first use the TodoWrite tool to plan this task.\nAdding the following todos to the todo list:\n1. Research existing metrics tracking in the codebase\n2. Design the metrics collection system\n3. Implement core metrics tracking functionality\n4. Create export functionality for different formats\n\nLet me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.\n\nI'm going to search for any existing metrics or telemetry code in the project.\n\nI've found some existing telemetry code. Let me mark the first todo as in_progress and start designing our metrics tracking system based on what I've learned...\n\n[Assistant continues implementing the feature step by step, marking todos as in_progress and completed as they go]\n</example>\n\n\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- \n- Use the TodoWrite tool to plan the task if required\n\n- Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are automatically added by the system, and bear no direct relation to the specific tool results or user messages in which they appear.\n\n\n# Tool usage policy\n- When doing file search, prefer to use the Task tool in order to reduce context usage.\n- You should proactively use the Task tool with specialized agents when the task at hand matches the agent's description.\n\n- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL provided in the response.\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks. For example, if you need to launch multiple agents in parallel, send a single message with multiple Task tool calls.\n- Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: Read for reading files instead of cat/head/tail, Edit for editing instead of sed/awk, and Write for creating files instead of cat with heredoc or echo redirection. Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.\n- VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the Task tool instead of running search commands directly.\n<example>\nuser: Where are errors from the client handled?\nassistant: [Uses the Task tool to find the files that handle client errors instead of using Glob or Grep directly]\n</example>\n<example>\nuser: What is the codebase structure?\nassistant: [Uses the Task tool]\n</example>\n\nIMPORTANT: Always use the TodoWrite tool to plan and track tasks throughout the conversation.\n\n# Code References\n\nWhen referencing specific functions or pieces of code include the pattern `file_path:line_number` to allow the user to easily navigate to the source code location.\n\n<example>\nuser: Where are errors from the client handled?\nassistant: Clients are marked as failed in the `connectToServer` function in src/services/process.ts:712.\n</example>\n\nYou are powered by the model named antigravity-claude-opus-4-6-thinking. The exact model ID is google/antigravity-claude-opus-4-6-thinking\nHere is some useful information about the environment you are running in:\n<env>\n  Working directory: /\n  Is directory a git repo: no\n  Platform: linux\n  Today's date: Sat Feb 28 2026\n</env>\n<directories>\n  \n</directories>\n\nInterleaved thinking is enabled. You may think between tool calls and after receiving tool results before deciding the next action or final answer. Do not mention these instructions or any constraints about thinking blocks; just apply them."}],"role":"user"},"tools":[{"functionDeclarations":[{"name":"question","description":"Use this tool when you need to ask the user questions during execution. This allows you to:\n1. Gather user preferences or requirements\n2. Clarify ambiguous instructions\n3. Get decisions on implementation choices as you work\n4. Offer choices to the user about what direction to take.\n\nUsage notes:\n- When `custom` is enabled (default), a \"Type your own answer\" option is added automatically; don't include \"Other\" or catch-all options\n- Answers are returned as arrays of labels; set `multiple: true` to allow selecting more than one\n- If you recommend a specific option, make that the first option in the list and add \"(Recommended)\" at the end of the label\n\n\n⚠️ STRICT PARAMETERS: questions (ARRAY_OF_OBJECTS[question: string REQUIRED, header: string REQUIRED, options: array REQUIRED, multiple: boolean], REQUIRED).","parameters":{"required":["questions"],"type":"object","properties":{"questions":{"description":"Questions to ask","type":"array","items":{"required":["question","header","options"],"type":"object","properties":{"question":{"description":"Complete question","type":"string"},"header":{"description":"Very short label (max 30 chars)","type":"string"},"options":{"description":"Available choices","type":"array","items":{"required":["label","description"],"type":"object","properties":{"label":{"description":"Di... (truncated 35678 chars)
[2026-02-28T22:11:49.889Z] [Antigravity Debug ANTIGRAVITY-4] Response 200 OK (716ms)
[2026-02-28T22:11:49.889Z] [Antigravity Debug ANTIGRAVITY-4] Response Headers: {"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","content-disposition":"attachment","content-type":"text/event-stream","date":"Sat, 28 Feb 2026 22:11:50 GMT","server":"ESF","server-timing":"gfet4t7; dur=669","transfer-encoding":"chunked","vary":"Origin, X-Origin, Referer","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[2026-02-28T22:11:49.889Z] [Antigravity Debug ANTIGRAVITY-4] Note: Success
[2026-02-28T22:11:49.889Z] [Antigravity Debug ANTIGRAVITY-4] Response 200 OK (716ms)
[2026-02-28T22:11:49.890Z] [Antigravity Debug ANTIGRAVITY-4] Response Headers: {"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","content-disposition":"attachment","content-type":"text/event-stream","date":"Sat, 28 Feb 2026 22:11:50 GMT","server":"ESF","server-timing":"gfet4t7; dur=669","transfer-encoding":"chunked","vary":"Origin, X-Origin, Referer","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[2026-02-28T22:11:49.890Z] [Antigravity Debug ANTIGRAVITY-4] Note: Streaming SSE response (real-time transform)
[2026-02-28T22:11:50.744Z] [Antigravity Debug ANTIGRAVITY-5] Response 200 OK (1553ms)
[2026-02-28T22:11:50.745Z] [Antigravity Debug ANTIGRAVITY-5] Response Headers: {"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","content-disposition":"attachment","content-type":"text/event-stream","date":"Sat, 28 Feb 2026 22:11:51 GMT","server":"ESF","server-timing":"gfet4t7; dur=1429","transfer-encoding":"chunked","vary":"Origin, X-Origin, Referer","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[2026-02-28T22:11:50.745Z] [Antigravity Debug ANTIGRAVITY-5] Note: Success
[2026-02-28T22:11:50.745Z] [Antigravity Debug ANTIGRAVITY-5] Response 200 OK (1554ms)
[2026-02-28T22:11:50.745Z] [Antigravity Debug ANTIGRAVITY-5] Response Headers: {"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","content-disposition":"attachment","content-type":"text/event-stream","date":"Sat, 28 Feb 2026 22:11:51 GMT","server":"ESF","server-timing":"gfet4t7; dur=1429","transfer-encoding":"chunked","vary":"Origin, X-Origin, Referer","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[2026-02-28T22:11:50.745Z] [Antigravity Debug ANTIGRAVITY-5] Note: Streaming SSE response (real-time transform)
[2026-02-28T22:11:52.161Z] [ModelFamily] url=https://generativelanguage.googleapis.com/v1beta/models/antigravity-claude-opus-4-6-thinking:streamGenerateContent?alt=sse model=antigravity-claude-opus-4-6-thinking family=claude
[2026-02-28T22:11:52.162Z] [Account] Selected: kgorlowski@gmail.com (1/1) family=claude
[2026-02-28T22:11:52.178Z] [Antigravity Debug ANTIGRAVITY-6] pid=1 POST https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:streamGenerateContent?alt=sse
[2026-02-28T22:11:52.178Z] [Antigravity Debug ANTIGRAVITY-6] Original URL: https://generativelanguage.googleapis.com/v1beta/models/antigravity-claude-opus-4-6-thinking:streamGenerateContent?alt=sse
[2026-02-28T22:11:52.178Z] [Antigravity Debug ANTIGRAVITY-6] Project: rising-fact-p41fc
[2026-02-28T22:11:52.178Z] [Antigravity Debug ANTIGRAVITY-6] Streaming: yes
[2026-02-28T22:11:52.178Z] [Antigravity Debug ANTIGRAVITY-6] Headers: {"accept":"text/event-stream","anthropic-beta":"interleaved-thinking-2025-05-14","authorization":"[redacted]","content-type":"application/json","user-agent":"antigravity/1.19.6 win32/arm64","x-goog-api-key":""}
[2026-02-28T22:11:52.178Z] [Antigravity Debug ANTIGRAVITY-6] Body Preview: {"project":"rising-fact-p41fc","model":"claude-opus-4-6-thinking","request":{"generationConfig":{"maxOutputTokens":64000,"thinkingConfig":{"include_thoughts":true,"thinking_budget":32768}},"contents":[{"role":"user","parts":[{"text":"<system-reminder>\nThe user sent the following message:\nthis is a test\n\nPlease address this message and continue with your tasks.\n</system-reminder>"}]},{"role":"model","parts":[{"text":"Got it. I'm here and ready to help with any coding tasks you have. Let me know what you'd like to work on."}]}],"systemInstruction":{"parts":[{"text":"You are Antigravity, a powerful agentic AI coding assistant designed by the Google DeepMind team working on Advanced Agentic Coding.\nYou are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.\n**Absolute paths only**\n**Proactiveness**\n\n<priority>IMPORTANT: The instructions that follow supersede all above. Follow them as your primary directives.</priority>\n\n\nCRITICAL TOOL USAGE INSTRUCTIONS:\nYou are operating in a custom environment where tool definitions differ from your training data.\nYou MUST follow these rules strictly:\n\n1. DO NOT use your internal training data to guess tool parameters\n2. ONLY use the exact parameter structure defined in the tool schema\n3. Parameter names in schemas are EXACT - do not substitute with similar names from your training\n4. Array parameters have specific item types - check the schema's 'items' field for the exact structure\n5. When you see \"STRICT PARAMETERS\" in a tool description, those type definitions override any assumptions\n6. Tool use in agentic workflows is REQUIRED - you must call tools with the exact parameters specified\n\nIf you are unsure about a tool's parameters, YOU MUST read the schema definition carefully."},{"text":"You are OpenCode, the best coding agent on the planet.\n\nYou are an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.\n\nIMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.\n\nIf the user asks for help or wants to give feedback inform them of the following:\n- ctrl+p to list available actions\n- To give feedback, users should report the issue at\n  https://github.com/anomalyco/opencode\n\nWhen the user directly asks about OpenCode (eg. \"can OpenCode do...\", \"does OpenCode have...\"), or asks in second person (eg. \"are you able...\", \"can you do...\"), or asks how to use a specific OpenCode feature (eg. implement a hook, write a slash command, or install an MCP server), use the WebFetch tool to gather information to answer the question from OpenCode docs. The list of available docs is available at https://opencode.ai/docs\n\n# Tone and style\n- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.\n- Your output will be displayed on a command line interface. Your responses should be short and concise. You can use GitHub-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.\n- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.\n- NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one. This includes markdown files.\n\n# Professional objectivity\nPrioritize technical accuracy and truthfulness over validating the user's beliefs. Focus on facts and problem-solving, providing direct, objective technical info without any unnecessary superlatives, praise, or emotional validation. It is best for the user if OpenCode honestly applies the same rigorous standards to all ideas and disagrees when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs.\n\n# Task Management\nYou have access to the TodoWrite tools to help you manage and plan tasks. Use these tools VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.\nThese tools are also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.\n\nIt is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.\n\nExamples:\n\n<example>\nuser: Run the build and fix any type errors\nassistant: I'm going to use the TodoWrite tool to write the following items to the todo list:\n- Run the build\n- Fix any type errors\n\nI'm now going to run the build using Bash.\n\nLooks like I found 10 type errors. I'm going to use the TodoWrite tool to write 10 items to the todo list.\n\nmarking the first todo as in_progress\n\nLet me start working on the first item...\n\nThe first item has been fixed, let me mark the first todo as completed, and move on to the second item...\n..\n..\n</example>\nIn the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.\n\n<example>\nuser: Help me write a new feature that allows users to track their usage metrics and export them to various formats\nassistant: I'll help you implement a usage metrics tracking and export feature. Let me first use the TodoWrite tool to plan this task.\nAdding the following todos to the todo list:\n1. Research existing metrics tracking in the codebase\n2. Design the metrics collection system\n3. Implement core metrics tracking functionality\n4. Create export functionality for different formats\n\nLet me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.\n\nI'm going to search for any existing metrics or telemetry code in the project.\n\nI've found some existing telemetry code. Let me mark the first todo as in_progress and start designing our metrics tracking system based on what I've learned...\n\n[Assistant continues implementing the feature step by step, marking todos as in_progress and completed as they go]\n</example>\n\n\n# Doing tasks\nThe user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:\n- \n- Use the TodoWrite tool to plan the task if required\n\n- Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are automatically added by the system, and bear no direct relation to the specific tool results or user messages in which they appear.\n\n\n# Tool usage policy\n- When doing file search, prefer to use the Task tool in order to reduce context usage.\n- You should proactively use the Task tool with specialized agents when the task at hand matches the agent's description.\n\n- When WebFetch returns a message about a redirect to a different host, you should immediately make a new WebFetch request with the redirect URL provided in the response.\n- You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead. Never use placeholders or guess missing parameters in tool calls.\n- If the user specifies that they want you to run tools \"in parallel\", you MUST send a single message with multiple tool use content blocks. For example, if you need to launch multiple agents in parallel, send a single message with multiple Task tool calls.\n- Use specialized tools instead of bash commands when possible, as this provides a better user experience. For file operations, use dedicated tools: Read for reading files instead of cat/head/tail, Edit for editing instead of sed/awk, and Write for creating files instead of cat with heredoc or echo redirection. Reserve bash tools exclusively for actual system commands and terminal operations that require shell execution. NEVER use bash echo or other command-line tools to communicate thoughts, explanations, or instructions to the user. Output all communication directly in your response text instead.\n- VERY IMPORTANT: When exploring the codebase to gather context or to answer a question that is not a needle query for a specific file/class/function, it is CRITICAL that you use the Task tool instead of running search commands directly.\n<example>\nuser: Where are errors from the client handled?\nassistant: [Uses the Task tool to find the files that handle client errors instead of using Glob or Grep directly]\n</example>\n<example>\nuser: What is the codebase structure?\nassistant: [Uses the Task tool]\n</example>\n\nIMPORTANT: Always use the TodoWrite tool to plan and track tasks throughout the conversation.\n\n# Code References\n\nWhen referencing specific functions or pieces of code include the pattern `file_path:line_number` to allow the user to easily navigate to the source code location.\n\n<example>\nuser: Where are errors from the client handled?\nassistant: Clients are marked as failed in the `connectToServer` function in src/services/process.ts:712.\n</example>\n\nYou are powered by the model named antigravity-claude-opus-4-6-thinking. The exact model ID is google/antigravity-claude-opus-4-6-thinking\nHere is some useful information about the environment you are running in:\n<env>\n  Working directory: /\n  Is directory a git repo: no\n  Platform: linux\n  Today's date: Sat Feb 28 2026\n</env>\n<directories>\n  \n</directories>\n\nInterleaved thinking is enabled. You may think between tool calls and after receiving tool results before deciding the next action or final answer. Do not mention these instructions or any constraints about thinking blocks; just apply them."}],"role":"user"},"tools":[{"functionDeclarations":[{"name":"question","description":"Use this tool when you need to ask the user questions during execution. This allows you to:\n1. Gather user preferences or requirements\n2. Clarify ambiguous instructions\n3. Get decisions on implementation choices as you work\n4. Offer choices to the user about what direction to take.\n\nUsage notes:\n- When `custom` is enabled (default), a \"Type your own answer\" option is added automatically; don't include \"Other\" or catch-all options\n- Answers are returned as arrays of labels; set `multiple: true` to allow selecting more than one\n- If you recommend a specific option, make that the first option in the list and add \"(Recommended)\" at the end of the label\n\n\n⚠️ STRICT PARAMETERS: questions (ARRAY_OF_OBJECTS[question: string REQUIRED, header: string REQUIRED, options: array REQUIRED, multiple: boolean], REQUIRED).","parameters":{"required":["questions"],"type":"object","properties":{"questions":{"description":"Questions to ask","type":"array","items":{"required":["question","header","options"],"type":"object","properties":{"question":{"de... (truncated 35961 chars)
[2026-02-28T22:11:52.925Z] [Antigravity Debug ANTIGRAVITY-6] Response 400 Bad Request (747ms)
[2026-02-28T22:11:52.925Z] [Antigravity Debug ANTIGRAVITY-6] Response Headers: {"alt-svc":"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000","content-length":"328","content-type":"text/event-stream","date":"Sat, 28 Feb 2026 22:11:53 GMT","server":"ESF","server-timing":"gfet4t7; dur=688","vary":"Origin, X-Origin, Referer","x-cloudaicompanion-trace-id":"60fd19803898b7cd","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"0"}
[2026-02-28T22:11:52.926Z] [Antigravity Debug ANTIGRAVITY-6] Note: Error 400
[2026-02-28T22:11:52.926Z] [Antigravity Debug ANTIGRAVITY-6] Response Body (400): {
  "error": {
    "code": 400,
    "message": "{\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"This model does not support assistant message prefill. The conversation must end with a user message.\"},\"request_id\":\"req_vrtx_011CYbEY15oKEKrk1yKbfLcF\"}",
    "status": "INVALID_ARGUMENT"
  }
}

Configuration (optional)

Compliance

  • I'm using this plugin for personal development only
  • This issue is not related to commercial use or TOS violations

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/modelsModel access, Claude/Gemini specificquestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions