- Upgraded to Zod v4 and adjusted schema generation for compatibility
-
keep_thinking=truenow works without debug mode - Fixed Claude multi-turn conversations failing with "Failed to process error response" whenkeep_thinking=trueafter tool calls, unless debug mode was enabled- Root cause:
filterContentArraytrusted any signature >= 50 chars for last assistant messages, but Claude returns its own signatures that Antigravity doesn't recognize - Fix: Now verifies signatures against our cache via
isOurCachedSignature()before passing through. Foreign/missing signatures get replaced withSKIP_THOUGHT_SIGNATUREsentinel - Why debug worked: Debug mode injects synthetic thinking with no signature, triggering sentinel injection correctly
- Root cause:
-
Fixed tool calls failing for tools with no parameters - Tools like
hive_plan_read,hive_status, andhive_feature_listthat have no required parameters would fail with Zod validation errorstate.input: expected record, received undefined- Root cause: When Claude calls a tool with no parameters, it returns
functionCallwithout anargsfield. The response transformation only processed parts wherefunctionCall.argswas defined, leavingargsasundefined - Fix: Changed condition to handle all
functionCallparts, defaultingargsto{}when missing, ensuring opencode'sstate.inputalways receives a valid record
- Root cause: When Claude calls a tool with no parameters, it returns
-
Auth headers aligned with official Gemini CLI - Updated authentication headers to match the official Antigravity/Gemini CLI behavior, reducing "account ineligible" errors and potential bans (#178)
GEMINI_CLI_HEADERS["User-Agent"]:9.15.1→10.3.0GEMINI_CLI_HEADERS["X-Goog-Api-Client"]:gl-node/22.17.0→gl-node/22.18.0ANTIGRAVITY_HEADERS["User-Agent"]: Updated to full Chrome/Electron user agent string- Token exchange now includes
Accept,Accept-Encoding,User-Agent,X-Goog-Api-Clientheaders - Userinfo fetch now includes
User-Agent,X-Goog-Api-Clientheaders fetchProjectIDnow uses centralized constants instead of hardcoded strings
-
quiet_modenow properly suppresses all toast notifications - Fixedquiet_mode: trueinantigravity.jsonnot suppressing "Status dialog dismissed" and other toast notifications (#207)- Root cause: The
showToasthelper function didn't checkquietMode, and only some call sites had manual!quietMode &&guards - Fix: Moved
quietModecheck insideshowToasthelper so all toasts are automatically suppressed whenquiet_mode: true
- Root cause: The
See releases for previous versions.