WikifitaGitHub live67e8de5
projeto · hacks/kickbacks-antigravity

Kickbacks.ai on Antigravity IDE

Patch on HOST_ROOT_DIRS to find Claude Code in Antigravity

Baixar raw

Kickbacks.ai on Antigravity IDE

Problem

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:

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:

PathContents
~/.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

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

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

# 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

# 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