Pi is a minimal, extensible coding-agent harness meant to be adapted to your workflow. It ships with a small set of defaults and deliberately leaves out features such as subagents and plan mode: you ask Pi to build what you need, or install a package that adds it. Extensions, skills, prompt templates, and themes customize it, and they bundle into Pi packages shared through npm or git.
You use Pi interactively in the terminal, automate it in print or JSON mode, control it over RPC, or build applications on the Pi TypeScript SDK. OpenClaw embeds Pi as its agent engine. You connect a built-in AI provider with a subscription or API key.
The project is a monorepo of libraries behind the CLI: a unified multi-provider LLM API, an agent runtime with tool calling and state management, a durable conversation, task, and document runtime, a terminal UI library with differential rendering, vendor-neutral telemetry contracts, and an application-composition runtime called chord.
Pi has no built-in permission system and runs with the permissions of the user who launched it. For stronger isolation it documents three patterns: the Gondolin extension, which routes built-in tools into a local Linux micro-VM while keeping provider auth on the host, a plain Docker container, or an OpenShell policy-controlled sandbox.
Features
- Extensions and packages: extensions, skills, prompt templates, and themes, bundled as Pi packages and shared through npm or git
- Run modes: interactive TUI, print or JSON mode for automation, RPC control, and a TypeScript SDK
- Multi-provider LLM API: one interface across OpenAI, Anthropic, Google, and other providers, with subscription or API-key login
- Agent runtime: tool calling and state management as a reusable library
- Durable runtime: durable conversations, tasks, and documents
- Terminal UI library: differential rendering for terminal interfaces
- Sandboxing patterns: a micro-VM extension, Docker, or OpenShell for isolation
- Supply-chain hardening: pinned direct dependencies, a minimum release age for new packages, and lifecycle scripts disabled during installs
- Session sharing: publish coding-agent sessions to Hugging Face datasets with a companion tool

