Skip to main content
Version: 1.2.0

The Embedded Agent Bundle

ClaudusBridge ships a complete coding agent inside the plugin. There is no external CLI to install, no package to download, and no API key to configure — the agent travels in the Fab package itself. The only thing the agent needs from your machine is a system Node.js install.

This page explains what the bundle is, where it lives, and how both the ClaudusCode terminal and the ACP client invoke it.

What it is

The embedded agent is ClaudeCodeAntigravity (CCAG) — a Claude Code build that also drives ChatGPT/Codex and Gemini in the same session — compiled into a single, self-contained, vendor-free Node bundle. Everything the agent needs is baked into that bundle; it does not pull dependencies from node_modules at runtime.

Because it is bundled, a Fab buyer gets a fully working agent terminal out of the box. You sign in with your own AI account (Claude / ChatGPT-Codex / Gemini) over normal OAuth — no API keys, no per-token billing from the plugin. It is 100% local: only your provider's own login and model calls leave the machine.

What's required

  • A system Node.js install. That's it. The agent is launched as node <bundle>, so any reasonably recent Node on your PATH works.
  • No global npm install, no separate agent binary, no Python, no API key.

Where it lives

The bundle sits inside the plugin under Resources/Agent/:

FileWhat it is
cli.jsThe bundled agent itself — a Node-target, vendor-free build (~30+ MB).
cli-node.jsA tiny ESM entry point that imports cli.js. This is what you run.
README.mdNotes on regenerating/updating the bundle.

These two .js files are large build artifacts derived from the separate CCAG project. They are git-ignored in the source tree but are packaged into the plugin zip at Fab-packaging time, so they are present on disk in any installed copy. The agent will not run if they are missing — if you are working from a fresh source checkout rather than a Fab install, you must place the bundle there yourself (see Regenerating the bundle below).

How it is invoked

Both ClaudusBridge agent surfaces launch the same bundle through your system Node:

  • The ClaudusCode terminal runs it interactively. When AgentCommand is left empty (the default), the editor resolves the in-plugin bundle and launches node "<…>/Resources/Agent/cli-node.js" as the terminal's startup command — after setting TERM=xterm-256color and cd-ing into the active project. On a developer machine where the bundle is absent, it falls back to a PATH-resolved claude.

  • The ACP client (FClaudusAcpClient) runs it headless and programmatically. It spawns node "<…>/cli-node.js" --acp and drives it over the Agent Client Protocol (JSON-RPC over stdio). See the ACP Drive Path page.

In both cases the agent runs out-of-process as a child Node process; the editor talks to it over a pseudo-terminal (the terminal) or stdio pipes (ACP). The agent, in turn, reaches back into the editor through the ClaudusBridge MCP server, giving it the 900+ editor tools.

Verifying the bundle

You can confirm the bundle is present and runs with nothing but your system Node:

# Print the agent version (proves the bundle loads under system node):
node cli-node.js --version
# -> e.g. "2.1.890 (Claude Code)"

# Prove ACP mode answers the handshake:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":1,"clientCapabilities":{}}}' | node cli-node.js --acp
# -> a JSON-RPC "initialize" result with agentCapabilities

Run these from the Resources/Agent/ directory of the installed plugin.

Regenerating the bundle

The bundle is produced from the ClaudeCodeAntigravity repo, not from the plugin. To rebuild and refresh it (developer workflow):

# In the ClaudeCodeAntigravity repo:
bun build-bundled.ts

# Then copy the outputs into the plugin:
cp dist-bundle/cli.js dist-bundle/cli-node.js <plugin>/Resources/Agent/

After copying, re-run the verification commands above. Once the bundle is in place, the ClaudusCode terminal and the ACP client both pick it up automatically.

Why ship it this way

Bundling the agent vendor-free means the plugin has a single, predictable agent runtime that ships and versions with ClaudusBridge — no "install this other tool first" step for buyers, and no surprise when a globally installed CLI drifts to a different version. The only host dependency is Node.