# Pi GPUI: A native GUI for the pi coding agent, built with Rust and GPUI.

> Source: <https://pi-gpui.dev>
> Published: 2026-11-12 09:18:45+00:00

### Install pi

Skip this if pi 1.4 or newer is already installed.

``` bash
$ curl -fsSL https://pi.dev/install.sh | sh
```

Pi GPUI runs your installed pi coding agent in a native desktop app for macOS and Linux. Your models, extensions, skills and sessions are ready at launch. It's written in Rust with GPUI and drawn on the GPU.

Needs [pi](https://github.com/earendil-works/pi) 1.4+ · macOS 13 on Apple silicon, or Linux on x86_64 and arm64 (beta) · free, MIT licensed

Get started

Connect a subscription or an API key. pi keeps it, the app never reads it.

``` bash
$ pi
> /login
```

It finds pi on its own, nvm installs included, and lists your projects and sessions.

macOS, or [download the app](https://github.com/bytesbay/pi-gpui/releases/latest)

``` bash
$ brew install --cask bytesbay/tap/pi-gpui
```

Linux, x86_64 and arm64 (beta)

``` bash
$ curl -fsSL https://pi-gpui.dev/install.sh | sh
```

Features

Projects and sessions live in the sidebar, open sessions in tabs. Each one has its own pi, so one keeps working while you are in another.

See every branch of a session and jump back to any message from the keyboard. pi can summarize the branch you leave.

Try a different direction from any message. The original session stays untouched.

Your extension commands, prompt templates and skills, plus /compact, /model, /name, /copy, /export and more.

Paste or drop files and screenshots into a message. pi gets their paths, as in the terminal.

A ring by the model name shows how full the context is and when pi will compact. Click it for cache hits and plan limits.

When an extension asks you something, it shows up as a card in the chat. Answer with a click, a number or the arrow keys.

Change the model or thinking level for one session. pi's defaults stay as they are.

The app updates itself. New versions of pi and your extensions show up next to the pi version and install only when you click.

How it works

For every session the app starts your installed pi with `pi --mode rpc` and talks to it over stdin and stdout. No copy of pi ships inside the app. It loads one small extension for session tree navigation and usage numbers. Extension questions work inline; extension status lines and widgets are not shown yet.

The interface is built with GPUI, the framework behind the Zed editor, and drawn with Metal on macOS and Vulkan on Linux.

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

Tour

Plugins

Yes. Plugins can be written in any language. They add buttons, give pi new tools and draw live views inside the chat. This one plays Freedoom right in a tool call.

Open source

Pi GPUI is MIT licensed Rust. Clone it, run it with `cargo run` and change what you like. A lot can be done with a plugin, without touching the app at all.

``` bash
$ git clone https://github.com/bytesbay/pi-gpui
$ cd pi-gpui
$ cargo run
  Compiling pi-gpui
  Running target/debug/pi-gpui
```

FAQ

A desktop app for the [pi coding agent](https://github.com/earendil-works/pi), for macOS and Linux. It runs the pi you have installed and shows your projects, sessions, tool calls and answers in one window.

Yes. Pi GPUI is a free native GUI for pi on macOS and Linux, written in Rust with GPUI, without Electron or a webview. Web, Electron, Tauri and editor options also exist, and [awesome-pi-agent](https://github.com/thevibeworks/awesome-pi-agent#frontends) lists them.

Yes, if your pi is set up for them. pi works with Claude and other providers, and Pi GPUI runs your pi with its models, extensions and skills as they are.

Yes, Rust with GPUI, drawn with Metal on macOS and Vulkan on Linux. The agent itself is pi, and the app talks to it over JSON lines.

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.

macOS 13 or newer on Apple silicon. Mac releases are signed with a Developer ID certificate and notarized by Apple.

Linux on x86_64 and arm64, on X11 and Wayland. It needs glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora 36) and a Vulkan driver. The Linux app is in beta: so far it was tested on Ubuntu 24.04 in a VM, so [tell us](https://github.com/bytesbay/pi-gpui/issues/5) how it runs on your setup. Shortcuts use Ctrl where the Mac app uses ⌘.

On both, new versions arrive through GitHub releases, and the app offers "Restart to update" when one is ready. Windows isn't supported.

Yes. It is open source under the MIT license, with the source on [GitHub](https://github.com/bytesbay/pi-gpui). You only pay your model provider.
