HarnessLink is the controller for your coding agents — it routes their model calls, gives them shared memory, banks what they do, and syncs and restores your setup. You code in omp, Claude Code, Codex or pi.
A harness is a coding agent that runs a model with tools: omp, Claude
Code, Codex, pi, Antigravity, Cursor. HarnessLink is not one of them. It never
patches a harness: it reads the files each one already writes, and — with
your consent, through superpi cloud setup — adds its own entries to a
harness's config (gateway base URL, context hooks, MCP server). This is what
each harness yields after a default install and setup:
| omp | pi | Claude Code | Codex | Antigravity | Cursor | |
|---|---|---|---|---|---|---|
| Prompt history | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Session transcripts | ✓ | ✓ | ✓ | ✓ | ✓ (brain/<conversation>/.system_generated/logs/transcript_full.jsonl) | ~/.cursor/sessions/*.jsonl only |
| Subagent transcripts | ✓ | ✓ | ✓ | ✓ | — | — |
| Memory bank (autobank) | every finished turn (not subagents) | every finished turn (not subagents) | every finished turn (not subagents) | every finished turn (not subagents) | one entry per conversation | — not supported |
Work state (state/) | todos, plan, checkpoints | todos, plan, checkpoints | todos, plans | plans | — | — |
| Own memory files | AGENTS.md, memories/ | AGENTS.md, memories/ | CLAUDE.md (global and per project), auto memory | AGENTS.md, AGENTS.override.md, memories/ | GEMINI.md, rules, knowledge, brain artifacts | ~/.cursorrules |
| Setup in the device profile | agents, commands, rules, prompts, skills, AGENTS.md, SYSTEM.md | same as omp | agents, commands, rules, output styles, skills, CLAUDE.md | prompts, skills, AGENTS.md | — | — |
| Gateway routing | ✓ | ✓ | ✓ | ✓ | — (traffic goes straight to Google) | — |
| Context hooks | ✓ | — | ✓ | ✓ | — | — |
| Org policy (tool and command rules) | ✓ (tool_call extension) | ✗ no tool hook | ✓ (PreToolUse) | ✓ (PreToolUse; prompt rules block; hosted web search not hookable) | ✗ no documented tool hook | ✗ no tool hook |
| Org policy instructions | ✓ | — | ✓ | ✓ | — | — |
| Org model rules and usage limits (gateway, 17.5.50+) | Anthropic and OpenAI Codex providers | Anthropic and OpenAI Codex providers | ✓ | ✓ | ✗ traffic goes straight to Google | ✗ not routed |
| Memory tools (MCP) | ✓ | — | ✓ | ✓ | — | --harness=cursor by hand |
Runs from SUPERPI_RUN_ID | ✓ | — | ✓ | ✓ | — | — |
| Runs from subagents | ✓ | ✓ | ✓ | ✓ | — | — |
Delegation target (superpi run, delegate) | omp -p --mode json | pi -p --mode json | claude -p --output-format stream-json | codex exec --json (read-only sandbox, git repos only) | agy --output-format stream-json (commands auto-denied) | — |
How each piece works: history, transcripts and runs in
USAGE.md; the memory bank and state/ in
MEMORY_BANKING.md; setup and its switches in
INSTALL.md.
Cursor is not supported beyond the two files named above. Its chats live in an editor database HarnessLink does not read, so Cursor prompts and turns are not captured or banked.
Collection runs inside the HarnessLink service (hnl daemon run,
supervised by launchd, systemd --user or a logon task), which the CLI
installs.