An AI coding agent you can tailor to your workflow
You can edit code through terminal conversations, automate tasks with scripts, or integrate it into other applications. Pi is a minimal agent harness that lets you pick only the features you need. You can modify its form by adding extensions, skills, prompt templates, and themes.
Adding features not included by default
Pi does not include specific features like sub-agents or plan mode by default. Instead, you can customize it by adding extensions, skills, prompt templates, and themes. You can package these configurations and share them via npm or git. Pi is designed to fit your workflow.
Various execution methods
You can use it interactively in the terminal, or automate it using print mode or JSON mode for output only. You can also control it remotely via RPC or build apps directly using the TypeScript SDK. The OpenClaw integration serves as a real-world example of how it is used. Node.js 22.19 or higher is required for installation. The macOS, Linux, and Windows installers install Node.js alongside if necessary.
Why there are no permission restrictions
Pi lacks a built-in permission system to restrict access to the file system, processes, network, or credentials. By default, it operates with the permissions of the user and process that run Pi. If you need stronger boundaries, you must use containers or sandboxes. The documentation provides three patterns: the Gondolin extension, standard Docker, and OpenShell. Gondolin keeps authentication on the host and routes tools to micro VMs.
Dependency management and supply chain hardening
npm dependency changes are reviewed like code changes. Direct external dependencies are pinned to exact versions, while internal workspace packages are kept with version ranges. package-lock.json serves as the source of truth for dependencies, and accidental commits are prevented. The pi.dev installer installs from a lockfile with fixed transitive dependencies. Releases are tested for npm and Bun installations in isolated environments.
Pre-use considerations
Pi is released under the MIT license. However, because it has no built-in permission restrictions, you must apply container or sandbox isolation in sensitive environments. It requires Node.js 22.19 or higher, and when using Nix, it supports Linux and macOS on ARM64 and x86-64 architectures. Issues and PRs from new contributors are automatically closed by default, and maintainers review them daily. It is recommended to first check if an extension fits your workflow or if you need to create one yourself.