Harnesses

Scape supports Claude Code, Codex, OpenCode, and pi as coding agent harnesses — switch between them globally or per-session.

A harness is the coding agent CLI that runs inside each Scape session. Scape supports four harnesses out of the box:

HarnessCLIProvider
Claude CodeclaudeAnthropic
CodexcodexOpenAI
OpenCodeopencodeOpenCode
pipiEarendil (multi-provider)

Setting the default

Go to Settings → Default agent to pick your default harness. The picker only shows harnesses that are installed on your machine. On first launch, Scape auto-detects which ones are available.

Per-session override

When creating a new session via Cmd+N, the creation picker lets you choose a specific harness for that session — regardless of your global default.

Capability differences

Not all harnesses support every Scape feature:

CapabilityClaude CodeCodexOpenCodepi
Watchdog (auto-answer)YesNoNoNo
Remote SSH sessionsYesNoNoNo
Remote ControlYesNoNoNo
Session resumeYesYesYesYes
Spectator modeYesYesYesYes
MCP toolsYesYesYesYes*

*pi has no native MCP client — Scape bridges its full tool catalog into pi through a pi extension it manages automatically, so pi sessions get the same Scape tools as the other harnesses.

Installing pi

pi is an npm package: npm install -g @earendil-works/pi-coding-agent. Current releases require Node 22.19+ (on Node 20 you'll get the older legacy-node20 release line). Authenticate by running pi in any terminal and using /login — it supports 30+ providers, including Anthropic Claude Pro/Max, OpenAI, and OpenRouter, or plain API-key env vars like ANTHROPIC_API_KEY.

Account profiles

Claude Code, Codex, and OpenCode support per-project account profiles — bind a different account and configuration directory to each project, and add alternate accounts to switch between. See Account Profiles for details. (pi account profiles aren't supported yet.)

Advanced settings

  • Claude Code — custom executable path and custom launch arguments.
  • Codex — custom executable path override.
  • pi — custom executable path override.

These are available in Settings for cases where you need to point to a specific binary or pass additional flags.