Latest release·macOS, Apple silicon

A native Mac app
for pi

Pi GPUI is an interface for the pi coding agent. It runs the pi you already have, with your models, extensions, skills and sessions, in a window written in Rust and drawn on the GPU.

Needs pi 1.4+ · free · updates itself

Real session, sped up: building Horse Tinder, the Tinder for horses. pi asks a question right in the chat, then gets to work.

LanguageRust
UIGPUI
RenderingMetal
Agentpi over RPC

Features

Everything pi does, in a window you can see at a glance.

⌘1 … ⌘9

Sessions side by side

Projects and their sessions sit in a sidebar. Every open session runs its own pi, so switching never stops work.

⌘⇧T

Session tree

Walk the branches of a session with the keyboard, jump back to any message and summarize the branch you leave.

/fork

Fork from any message

Try another direction from any point. The original session stays as it was.

/

Slash commands

Extension commands, prompt templates and skills from pi, plus /compact, /model, /name, /copy, /export and more.

drop · paste

Files and images

Paste or drop files into the message field. They become chips and are sent as paths, the same way pi does it in the terminal.

◔ 42%

Context at a glance

A ring next to the model shows context used, when pi compacts, cache hits and plan limits.

Y / N

Questions in the chat

When an extension asks something, the question shows up in the transcript. Pick with a click, a digit or the arrows.

⌘⇧M

Model per session

Switch model and thinking level for one session without touching pi's defaults.

auto

Updates that wait for you

The app updates itself. Updates for pi and its extensions show next to the version and run only when you click.

How it works

The agent stays in pi. The app is the window.

Pi GPUI starts pi --mode rpc as a child process for each session and talks to it in JSON lines. There is no SDK wrapper, no second agent loop and no copy of pi inside the app. Whatever works in your terminal works here: models, providers, extensions, skills, prompt templates.

The interface is GPUI, the framework behind the Zed editor. Text, code and the transcript are drawn with Metal, so long sessions scroll without stutter.

Pi GPUI  Rust · GPUI · Metal
   │
   │  JSONL over stdin / stdout
   ▼
pi --mode rpc  your install
   │
   ▼
models · tools · extensions · your files

A day at Horse Tinder

What it looks like while pi works.

Keyboard

Made for the keyboard.

⌘N
New session
⌘O
Add project
⌘1 … ⌘9
Open a session
⌘⇧T
Session tree
⌘⇧M
Model and thinking
⌘⇧E
Expand step details
↩ / ⇧↩
Send / new line
Esc
Stop the run
/
Command menu
⌘,
Settings

FAQ

Questions

What is Pi GPUI?

A native macOS interface for the pi coding agent. It starts your installed pi in RPC mode and shows projects, sessions, tool calls and answers in one window.

Is it an alternative to the Claude Code app?

If you want a desktop app for agentic coding, yes. Pi GPUI is a GUI for pi, an open coding agent that works with Claude and other providers. You keep pi's models, extensions and skills and get a native Mac window around them.

Is it written in Rust?

Yes. Rust on GPUI, rendered with Metal. pi stays the agent engine, the app talks to it over JSON lines.

Do I need pi installed?

Yes, pi 1.4 or newer within 1.x. The app finds it in PI_EXECUTABLE, PATH or your login shell, so nvm installs work. It never installs or updates pi on its own.

Which Macs does it run on?

Macs with Apple silicon. New versions arrive through GitHub releases, and the app offers "Restart to update" when one is ready.

Is it free?

Yes. Free to download, source on GitHub.

Give pi a window.