π

Harness · pi.dev · Earendil Inc.

Pi.

A minimal, primitives-first terminal coding harness from Earendil Inc. TeamDay runs Pi server-side with durable sessions, JSON output, and your connected Pi subscription or third-party provider API tokens.

What it is

Pi is an open-source agentic coding harness that takes the opposite design stance from the heavyweight CLIs. The core ships four tools — read, write, edit, bash — and a slim TUI. Everything else (skills, sub-agents, plan mode, permission gates, path protection, SSH execution, sandboxing, MCP, custom editors, status bars) is composed via TypeScript Extensions. The pitch is "adapt Pi to your workflows, not the other way around."

Source lives in badlogic/pi-mono. Installable via npm i -g @earendil-works/pi-coding-agent.

Capabilities at a glance

  • Sub-agents: yes — first-class, including a plan mode and dispatchable workers.
  • Skills: yes — packaged reusable prompts/templates plus extension-provided skills.
  • MCP servers: yes — full client integration alongside the four-tool core.
  • Hooks: yes — extensions hook into tools, commands, keyboard shortcuts, and lifecycle events through the TUI runtime.
  • Slash commands: yes — built-in plus extension-defined custom commands.
  • Permissions / sandboxing: permission gates, path protection, SSH execution, and sandboxing all available as extensions.
  • Plugins / extensions: yes — TypeScript extensions are the central design unit; the rest of the system is built on them.
  • Multi-model: 15+ providers, hundreds of models — the broadest of any harness we've looked at.
  • Sessions: tree-structured and shareable — branch the conversation, fork a side-quest to fix a broken tool without polluting the main session, then return.
  • Surfaces: four operational modes — interactive TUI, print/JSON output, RPC, and SDK.
  • Headless / SDK: yes — JSON, RPC, and SDK modes are all first-class, not afterthoughts.
  • License: open source; you pay only for the underlying model API usage.

Why we support it

  • Server-shaped from day one. RPC and SDK are first-class modes — exactly what TeamDay needs from a harness it runs server-side at scale.
  • Provider neutrality at an extreme. 15+ providers means a single Pi-backed agent can swap from Claude Opus to a self-hosted Qwen without touching the agent definition.
  • Tree sessions. Branching a session to fix something without poisoning the main thread is a primitive we'd use heavily on long missions.
  • Minimal core, big extension surface. TypeScript extensions match how TeamDay's own integration layer is written — much less impedance than wrapping a closed runtime.

Status in TeamDay

Supported. Pi can be selected as a TeamDay harness after the runner has a Pi auth file or provider API-token environment configured. This is intentionally similar to Hermes: TeamDay runs the CLI, but the organization supplies the third-party subscription or model-provider credentials.

Learn more