#Cloud Code Assist with Google Antigravity

1 messages · Page 1 of 1 (latest)

broken forge
#

Cloud Code Assist API error (400):
{"type":"error","error":{"type":"invalid_request_error","message":"tools.21.custom.input_schema: JSON schema
is invalid. It must match JSON Schema draft 2020-12 (https://json-schema.org/draft/2020-12). Learn more about
tool use at https://docs.claude.com/en/docs/tool-use."},"request_id":"req_vrtx_011CYEpbbMXUMeJo92XYZaVZ"}
connected | error
agent main | session main (Craze) | google-antigravity/claude-opus-4-6-thinking | tokens ?/200k

I'm getting this error the first time I tried switching to Google Antigravity with Oauth and Claude-Opus-4-6

raven cragBOT
#

That 400 is coming from the Google Antigravity “Cloud Code Assist–style” endpoint being extremely strict about tool JSON Schemas. It’s rejecting the input_schema for one of the tools we’re sending (tool index 21 in the request).

What to do:

  1. Confirm version (important)
    Please paste:
openclaw --version

A bunch of “strict provider / Cloud Code Assist” tool-schema fixes landed recently, and older builds tend to trip exactly this error.

  1. Quick workaround: restrict tools for google-antigravity
    In your openclaw.json (JSON5), add a provider-specific tool profile so Antigravity only gets a tiny toolset:
{
#
tools: {
// keep whatever you want globally...
byProvider: {
"google-antigravity": { profile: "minimal" }, // session_status only
},
},
}

Then restart the gateway:

openclaw gateway restart

(Once it works, you can widen it to e.g. allow: ["message","sessions_list","session_status"] etc. — docs: https://docs.openclaw.ai/tools)

#
  1. Identify the exact offending tool (so we can fix/disable just that one)
    Run and paste the relevant snippet:
openclaw logs --follow

Look for a line like “google tool schema snapshot” — it prints the tool list with indices (0:browser, 1:canvas, …). That will tell us what tool 21 actually is in your setup.

Docs refs:

broken forge
#

@raven crag Openclaw version: 2026.2.15

raven cragBOT
#

2026.2.15 is recent enough that core Antigravity fixes should be in — so this is very likely one specific tool schema (often from a plugin / custom workspace extension tool) that Antigravity’s validator rejects as “not draft 2020-12”.

Two quick steps to isolate + unblock:

  1. Prove it’s a tool-schema issue (workaround) — restrict tools just for Antigravity
    Add to openclaw.json:
{
tools: {
byProvider: {
"google-antigravity": { profile: "minimal" } // session_status only
}
}
}

Then:

#
openclaw gateway restart

If that makes Antigravity work, we know it’s definitely one of the tools in the full set.

  1. Identify what “tools.21” actually is
    Please paste the log lines around the failure from:
openclaw logs --limit 200

Look specifically for the line that starts with google tool schema snapshot (it prints index:name for every tool). That will tell us which tool is index 21 in your run.

If you have any extra plugins/tools, also paste:

openclaw plugins list
#

Once we know which tool is #21, we can either disable just that tool for google-antigravity (via tools.byProvider.google-antigravity.allow/deny) or fix the plugin schema.

#

2026.2.15 is new enough — so this isn’t “you’re on an old build”, it’s almost certainly one specific tool (often a plugin/custom tool) whose schema isn’t valid strict JSON Schema 2020-12, and Antigravity/Claude is rejecting the whole request because of it.

Fast unblock (confirm it’s tool-related)

Add this to openclaw.json:

{
tools: {
byProvider: {
"google-antigravity": { profile: "minimal" }
}
}
}

Then restart:

#
openclaw gateway restart

If Antigravity works after this, we’ve confirmed the issue is a tool schema in the full toolset.

Next: identify which tool is “tools.21”

Please paste:

openclaw logs --limit 200
openclaw plugins list

In the logs, I’m looking for the line that starts with “google tool schema snapshot” (it prints tools as index:name). That will tell us exactly what tool is #21, and then we can fix it cleanly by denying just that tool for google-antigravity (instead of going “minimal”).

broken forge
#

@raven crag I did the profile: minimal and got this run error: LLM request rejected: messages.1.content.0.thinking.signature: Field required

#

@raven crag Plugin 21 was image

raven cragBOT
#

That messages.1.content.0.thinking.signature: Field required error is basically: Antigravity’s Claude endpoint is seeing a “thinking” block in the session history, and it refuses to accept it unless it includes a valid signature. This commonly happens when you switch an existing Discord thread/session over to google-antigravity/...-thinking (old history gets replayed, but doesn’t have the required signature fields in the format Antigravity expects).

Quick fix (usually works)

In the same Discord thread/chat, send /reset (or /new) as a standalone message, then try again.
Docs: https://docs.openclaw.ai/help/faq#how-do-i-start-a-fresh-conversation

If you need an immediate workaround

Temporarily switch off the *-thinking variant (use the non-thinking model id) and confirm it runs, then come back to the thinking variant after you’ve reset the session.

If it still fails even after /reset

Then it’s likely version-related (there have been a bunch of Antigravity/Cloud Code Assist schema + transcript sanitization fixes lately). Can you paste:

  • openclaw --version
  • openclaw status --all (it redacts secrets)

That’ll make it obvious whether you’re on a build that’s missing the Antigravity “thinking signature” sanitization.

#

That specific error means Antigravity’s Claude endpoint is receiving a thinking block in the message history, but it’s missing the required signature (Antigravity is stricter here than normal Anthropic).

This most often happens when you switch an existing session/thread over to google-antigravity/claude-opus-4-6-thinking and the old transcript contains (or produces) unsigned thinking blocks.

Fix (do this first)

In the same thread, send /reset (or /new) as a standalone message, then try again.

Docs: https://docs.openclaw.ai/help/faq#how-do-i-start-a-fresh-conversation

If it still happens after a reset

Then you’re very likely on an OpenClaw version that’s missing the Antigravity “thinking signature” sanitization. Please paste:

  • openclaw --version
  • openclaw status --all (safe to share; secrets redacted)

Also: the tool profile minimal only reduces tool/schema complexity (helps the earlier 400 schema error), but it won’t fix the thinking signature issue by itself.

#

Yep — tools.21... is tool index 21 in the request (not “plugin #21”), and if that one was image, that explains the schema error you saw earlier.

Two separate issues are getting mixed:

  1. Tool schema 400 (tools.21.custom.input_schema ...)
    Antigravity / Cloud Code Assist is picky about tool JSON Schema. Easiest workaround is to make sure Antigravity runs with no extra tools (so image isn’t even sent).

In openclaw.json, set (and then restart the gateway):

{
  tools: {
    byProvider: {
      "google-antigravity": { profile: "minimal" } // minimal = session_status only
    }
  }