Skip to main content
Version: 2.0.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. It runs through a system Node.js install and uses your selected provider account for AI conversations.

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. The bundle runs locally; provider login and model calls use network services. Other tools and integrations follow their own network configuration.

What's required

  • A compatible system Node.js install on PATH. Verify that the shipped bundle starts with the commands below.
  • Your selected provider account for AI conversations.
  • 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 generated build artifacts derived from the separate CCAG project. They are committed in the plugin repository and included in the Fab package, so a complete source checkout also contains the embedded agent. Preserve both files when copying the plugin. Regenerate them only when updating the embedded agent; the terminal and ACP cannot launch that bundle if either file is missing.

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 Claudus CLI and its authenticated native connection to Unreal. The native claudus CLI is a separate executable; scripted CLI calls do not require this Node agent bundle.

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.