---
type: hack
title: Kickbacks.ai on Antigravity IDE
description: Patch on HOST_ROOT_DIRS to find Claude Code in Antigravity
tags: [hack, antigravity, kickbacks, vscode, extensions]
timestamp: 2026-06-26
---

# Kickbacks.ai on Antigravity IDE

## Problem

[Kickbacks.ai](https://kickbacks.ai) extension installed on **Antigravity IDE** (Google's VS Code fork) was not injecting ads into Claude Code's chat — it worked on normal VS Code but was "silent" on Antigravity.

## Root Cause

Kickbacks.ai locates Claude Code by scanning extension directories of known editors in `locate.ts` / `registry.ts`:

```typescript
HOST_ROOT_DIRS = [
  ".vscode", ".vscode-insiders",
  ".vscode-server", ".vscode-server-insiders",
  ".cursor", ".cursor-server"
  // ❌ DIDN'T HAVE antigravity!
]
```

But Antigravity IDE stores extensions in two locations:

| Path | Contents |
|---|---|
| `~/.antigravity-ide/extensions/` | Extensions from **Antigravity IDE itself** (Kickbacks, active Claude Code) |
| `~/.antigravity/extensions/` | Extensions from **Antigravity.app** (older version of Claude Code, 2.1.122) |

The Claude Code process that **actually runs** is in:
```
~/.antigravity-ide/extensions/anthropic.claude-code-2.1.193-darwin-arm64/
```

While `~/.antigravity/extensions/` only has an old version (2.1.122) that isn't even loaded.

## O Fix

Patch applied directly to **`dist/extension.js`** of Kickbacks installed in `~/.antigravity-ide/extensions/kickbacksai.kickbacks-ai-0.3.177/`.

### 1. Add `.antigravity-ide` and `.antigravity` to HOST_ROOT_DIRS

```javascript
var HOST_ROOT_DIRS = [
  ".antigravity-ide",    // ← NEW (priority)
  ".antigravity",        // ← NEW (fallback)
  ".vscode",
  ".vscode-insiders",
  ".vscode-server",
  ".vscode-server-insiders",
  ".cursor",
  ".cursor-server"
];
```

### 2. Update `hostRootOrder` to prioritize Antigravity

```javascript
function hostRootOrder(execPath = process.execPath) {
  const p = (execPath || "").toLowerCase();
  const preferred = p.includes("antigravity")
    ? [".antigravity-ide", ".antigravity"]    // ← detects Antigravity IDE
    : p.includes("cursor")
      ? [".cursor", ".cursor-server"]
      : p.includes("insiders")
        ? [".vscode-insiders", ".vscode-server-insiders"]
        : [];
  return [...preferred, ...HOST_ROOT_DIRS.filter((d) => !preferred.includes(d))];
}
```

### 3. Side issue: Restart Extensions cancelled

The command `workbench.action.restartExtensionHost` does not exist in Antigravity IDE (fork). When clicking "Restart extensions now" in the Kickbacks menu, it shows "cancelled". **Workaround:** close and reopen Antigravity (`Cmd+Q`).

If you want to fix this too, replace `restartExtensionHost` with `reloadWindow` in `dist/extension.js` (3 occurrences).

## How to apply

```bash
# Kickbacks path in Antigravity IDE
EDITOR_DIR=~/.antigravity-ide/extensions/kickbacksai.kickbacks-ai-0.3.177

# Edit dist/extension.js with ast-grep or sed
# (see sections 1 and 2 above)
```

After editing, do a **full restart** of Antigravity IDE (`Cmd+Q`).

## Diagnosis

Run `Kickbacks: Menu` → "Re-apply patch now" to verify the patch on Claude Code was applied.

## Relevant commands

```bash
# Where Claude Code runs in Antigravity
ls -la ~/.antigravity-ide/extensions/anthropic.claude-code-*/

# Where Kickbacks is installed
ls -la ~/.antigravity-ide/extensions/kickbacksai.kickbacks-ai-*/

# Antigravity processes running
ps aux | grep -i antigravity | grep -v grep
```

## Extension Host Process

In Antigravity IDE, the extension host's `process.execPath` is:
```
/Applications/Antigravity IDE.app/Contents/Frameworks/Antigravity IDE Helper (Plugin).app/Contents/MacOS/Antigravity IDE Helper (Plugin)
```

It contains "antigravity" (case-insensitive) → the detection works.

## Links

- [[antigravity-ide]] — Google Antigravity IDE
- [[fitalabs-infra]] — Local Docker services
- CLI Tools — historical reference with no active canonical page
