Making Google Antigravity Work Like Codex in OpenClaw A developer built an open-source plugin that bridges Google Antigravity, a coding agent, with OpenClaw, an agent orchestration platform, enabling Antigravity to work inside OpenClaw the same way Codex does. The plugin uses a Python sidecar bridge that exposes an OpenAI-compatible endpoint, allowing OpenClaw to call Gemini models through Antigravity's harness. The project is available on GitHub and aims to prevent provider lock-in by letting any model be a first-class citizen in an agent workflow. Google Antigravity is a powerful coding agent. OpenClaw is my agent orchestration platform. The problem: they don’t talk to each other. I wanted Antigravity to work inside OpenClaw the same way Codex does. Spawn a session, send a task, get a response. No manual copy-paste, no switching between tools. Just another model in the toolkit, callable like any other. So I built a plugin that bridges them. What It Does The plugin registers Google Antigravity as a provider in OpenClaw. Once installed, you can use Gemini models through Antigravity’s harness the same way you’d use Claude through Codex or GPT through the OpenAI API. php OpenClaw provider plugin - http://127.0.0.1:8080/v1/chat/completions - Python bridge sidecar - google-antigravity localharness - Gemini / Antigravity runtime The architecture is a Python sidecar bridge that sits between OpenClaw’s Node.js process and Google’s google-antigravity package. The sidecar exposes an OpenAI-compatible endpoint at localhost:8080 , so OpenClaw talks to it the same way it talks to any other model provider. Why a Sidecar? The bridge runs as a separate process macOS LaunchAgent by design. Python dependencies, localharness lifecycle, crash recovery, and logs stay isolated from OpenClaw’s Node.js process. Tight coupling between a Node.js agent platform and a Python inference runtime would have been fragile. If the sidecar crashes, OpenClaw keeps running. If OpenClaw restarts, the sidecar keeps its sessions. They communicate over HTTP on localhost, which is the simplest and most reliable interface. What Works - OpenAI-compatible /v1/chat/completions endpoint - Non-streaming and SSE responses - Per-session harness isolation concurrent agents don’t interfere - OpenAI tool-call bridge - Models: gemini-3.5-flash, gemini-3.1-pro, gemini-3.1-flash The Hard Parts Session isolation. Each OpenClaw session needs its own harness instance. If two agents share a session, their contexts bleed into each other. The bridge maintains strict session boundaries, even under concurrent load. Tool-call translation. Cloud APIs have standardized tool-call formats. Antigravity’s format is different. The bridge translates between OpenAI’s format and Antigravity’s native format, handling edge cases like partial outputs and retries. Crash recovery. A localharness process can die mid-task. The bridge detects this, restarts the process, and resumes without losing context. Cloud APIs handle this for you; locally, you have to build it yourself. Open Source The plugin is open source: https://github.com/eonghk/openclaw-antigravity https://github.com/eonghk/openclaw-antigravity Experimental, macOS-first, designed for local OpenClaw installations. Install with: npm install -g openclaw-antigravity openclaw-antigravity install openclaw-antigravity doctor Why This Matters The agent ecosystem is converging on a pattern: multiple model providers, each with different strengths, orchestrated by a single platform. Codex for one kind of task, Claude for another, Antigravity for a third. But every provider has its own API, its own session model, its own tool-call format. Without bridges like this, you’re stuck switching between tools manually. With them, your agent platform becomes a true orchestration layer that can route tasks to the best model for the job. That’s the goal. Not lock-in to one provider, but the ability to use any provider as a first-class citizen in your agent workflow.