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 yourPATHworks. - 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/:
| File | What it is |
|---|---|
cli.js | The bundled agent itself — a Node-target, vendor-free build (~30+ MB). |
cli-node.js | A tiny ESM entry point that imports cli.js. This is what you run. |
README.md | Notes 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
AgentCommandis left empty (the default), the editor resolves the in-plugin bundle and launchesnode "<…>/Resources/Agent/cli-node.js"as the terminal's startup command — after settingTERM=xterm-256colorandcd-ing into the active project. On a developer machine where the bundle is absent, it falls back to a PATH-resolvedclaude. -
The ACP client (
FClaudusAcpClient) runs it headless and programmatically. It spawnsnode "<…>/cli-node.js" --acpand 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.
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.