# AI use cases for Pi (earendil-works/pi)

Repo: [earendil-works/pi](https://github.com/earendil-works/pi) | Use cases: 3 | Page: https://dedupedai.com/use-cases/earendil-works-pi/

Pi is a minimal, extensible agent harness and coding agent CLI that you adapt to your workflow with extensions, skills and packages. It ships with strong defaults but skips features like sub-agents and plan mode, so you build or install what you want. It can run interactively, in print or JSON mode, or over RPC, and the monorepo also holds a unified multi-provider LLM API and a terminal UI library.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Install the Pi coding agent and run it in your project: https://dedupedai.com/use-cases/earendil-works-pi/install-pi-and-run-it-in-a-project/
- Run Pi with stronger boundaries in a container or micro-VM: https://dedupedai.com/use-cases/earendil-works-pi/run-pi-inside-a-sandbox/
- Try Pi with Nix without a global install: https://dedupedai.com/use-cases/earendil-works-pi/try-pi-with-nix-without-installing/

## How to install the Pi coding agent and run it in your project with Pi

Repo: [earendil-works/pi](https://github.com/earendil-works/pi) | Difficulty: Beginner | Time: 10 minutes | Basis: From the README

Install Pi with the official script, start it in a folder and connect a provider with /login.

**Who it is for:** A developer trying a lightweight terminal coding agent.

**The problem:** Large agent products come with features and opinions you may not want.

**The outcome:** Pi running in your project, signed in to your provider and ready for a task.

### Steps

1. Install with `curl -fsSL https://pi.dev/install.sh | sh` (or the PowerShell installer on Windows)
2. Or use npm: `npm install -g --ignore-scripts @earendil-works/pi-coding-agent`
3. cd into your project and run `pi`
4. Run /login inside Pi to connect a subscription or API key, then give it a task
5. Update later with `pi update`

### Prompt to paste into your agent

```text
Install earendil-works/pi, start it in <project>, connect <provider> with /login, and ask it to <task>. Show me every file change before it is saved.
```

### Caveat

This card is written from the earendil-works/pi README, not from a test run by Deduped. Before you start, make sure you have Node.js 22.19 or newer. Check the repo for newer instructions before you rely on these steps.

Risk, no-permission-system: The README says Pi has no built-in permission system and runs with your user's permissions; containerize it for stronger boundaries.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/earendil-works-pi/install-pi-and-run-it-in-a-project/

## How to run Pi with stronger boundaries in a container or micro-VM with Pi

Repo: [earendil-works/pi](https://github.com/earendil-works/pi) | Difficulty: Advanced | Time: 1 hour | Basis: From the README

Follow Pi's containerization options so the agent cannot touch everything your user account can.

**Who it is for:** A security-minded developer who wants an agent but not unrestricted file and network access.

**The problem:** By default Pi can read files, run processes and use the network as you.

**The outcome:** Pi running in Docker, OpenShell or with tools routed into a local Linux micro-VM via the Gondolin extension.

### Steps

1. Read the containerization guide linked from Permissions and Containerization
2. Choose plain Docker for simple isolation of the whole Pi process
3. Or use the Gondolin extension to keep provider auth on the host while built-in tools run in a micro-VM
4. Or run Pi inside an OpenShell policy-controlled sandbox

### Prompt to paste into your agent

```text
Set up earendil-works/pi so it runs isolated on this machine: compare the README's Docker, Gondolin and OpenShell options for my <OS> and configure the one that keeps provider auth on the host.
```

### Caveat

This card is written from the earendil-works/pi README, not from a test run by Deduped. Before you start, make sure you have Node.js 22.19 or newer. Check the repo for newer instructions before you rely on these steps.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/earendil-works-pi/run-pi-inside-a-sandbox/

## How to try Pi with Nix without a global install with Pi

Repo: [earendil-works/pi](https://github.com/earendil-works/pi) | Difficulty: Intermediate | Time: 15 minutes | Basis: From the README

Run the latest stable Pi straight from the flake, or add it to your Nix profile.

**Who it is for:** A Nix user who wants reproducible tools and no global npm packages.

**The problem:** Global npm installs drift and do not pin transitive dependencies.

**The outcome:** Pi running from a pinned Nix build on Linux or macOS, ARM64 or x86-64.

### Steps

1. Run `nix run github:earendil-works/pi/stable`
2. To keep it, use `nix profile add github:earendil-works/pi/stable`
3. Update with `nix profile upgrade pi`
4. Start Pi in your project and run /login

### Prompt to paste into your agent

```text
Run earendil-works/pi with Nix from the stable flake on this machine, add it to my Nix profile if it works, and connect <provider> with /login.
```

### Caveat

This card is written from the earendil-works/pi README, not from a test run by Deduped. Before you start, make sure you have Node.js 22.19 or newer. Check the repo for newer instructions before you rely on these steps.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/earendil-works-pi/try-pi-with-nix-without-installing/
