All harnesses
Each page is generated from the same registry the package ships, so a path here is a path getHarness(id) returns. The prose is mine; the tables are not.
| Harness | ID | Detection | Headless | Sessions |
|---|---|---|---|---|
| Antigravity CLI | antigravity | project | agent | Protocol Buffers, JSONL, SQLite |
| Claude Code | claude | env + project | advisor, agent | JSONL |
| Codex CLI | codex | project | read-only, agent | JSONL, SQLite |
| Cursor | cursor | env + project | agent | - |
| Freebuff | freebuff | project | - | JSON, JSONL |
| Gemini CLI | gemini | env + project | agent | JSON |
| GitHub Copilot | github-copilot | env + project | agent | - |
| Grok CLI | grok | env + project | agent | JSONL, JSON, SQLite |
| Mastra Code | mastracode | project | - | SQLite |
| OMP | omp | env + project | agent | JSONL, SQLite |
| OpenCode | opencode | project | agent | SQLite |
| Pi | pi | env + project | advisor, read-only, agent | JSONL |
"Headless" lists the mode families invoke() can run; each has a structured variant where the CLI has a JSON output flag. Read-only means a sandbox the CLI enforces itself, which today is Codex's --sandbox read-only and Pi's tool allowlist. Copilot is the one harness with an agent mode and no structured variant.
Audio and video
capabilities.audio and video are true only where a native route puts that medium into model context. Antigravity has both, Gemini CLI has audio through read_file, the other ten have neither verified. Voice dictation that becomes text does not count, and neither does an MCP tool that transcribes. false means nothing was verified, not that every provider and extension was disproved; the README lists the reference for each row.