---
url: /docs/coding-agents/pi.md
---
# Pi

[Pi](https://pi.dev) is Earendil Works' minimal coding harness which you adapt
to your workflows. It ships with solid basics and you make it do what you need
from there through extensions. Route it through Hyper using our [OpenAI
Completions](/api/openai-chat-completions.md) endpoints.

## Prerequisites

* A Hyper account
* [Pi](https://pi.dev) installed

## Configuration

Add our provider extension with:

```bash
pi install npm:@charmland/pi-hyper-provider
```

Run `pi`, send `/login`, then use arrow keys and enter to pick `Subscription`
and select the `Charm Hyper` provider. Follow the instructions shown in Pi to
log in with OAuth.

Model info is fetched at startup and cached locally; the cache is used as a
fallback if there's an error communicating with the [List
Models](/api/list-models.md) endpoint. By default, your remaining Hypercredit
balance is shown in the status line while a Hyper model is active.

Send `/hyper-status` to configure the status line interactively and toggle
things on/off or reset to the defaults. `teamName` defaults to `false` and
`hypercredits` defaults to `true`. You can also set values directly:

```sh
/hyper-status teamName true
/hyper-status hypercredits false
/hyper-status reset
```

:::info

As of v83, Pi only creates and updates provider extensions' model caches when
launched interactively. If you mostly use Pi in headless or non-interactive
environments, open the TUI whenever you want to get new models or updated
metadata.

:::

## Running Pi

After authenticating with either OAuth or API key, start Pi normally:

```bash
pi
```

And press `Ctrl`+`L` or send `/model` to list available models, type `hyper` to
filter for Hyper models, or `model-name` to filter for a specific model.
