Harnesses

Harness plugins teach the runtime how to talk to a specific agent product. You can register many. coreSet() installs all of these and tries them in order when detecting what is available.

PluginType idNotes
cursorHarnessPlugincursor-cliNeeds CURSOR_API_KEY
codexHarnessPlugincodex-acpNeeds OPENAI_API_KEY
claudeCodeHarnessPluginclaude-codeNeeds ANTHROPIC_API_KEY
kiroHarnessPluginkiro-acpDetect only today
opencodeHarnessPluginopencodeInstalls; prompting comes later
import { cursorHarnessPlugin, coreHarnessPlugins } from '@buildautomaton/plugins/plugins';

coreHarnessPlugins()
// or pick one:
cursorHarnessPlugin()

A harness typically detects whether the agent is installed, can help install it, starts a process, and sends prompts over ACP.

How a prompt runs

prompt → pick a run → start or reuse a process → send the prompt → return the result

Harness plugins register agent types on the runtime handle. Session plugins remember the agent’s session id. Tools and HTTP sit next to them.