Ghosttyv1.mp4
A Pi extension that brings Ghostty's native terminal features to life while you work. See at a glance what Pi is doing — which model is active, what tool is running, and whether things succeeded or failed.
Dynamic window title — Shows your project directory and current model at a glance. Session name is included when set:
π my-project · claude-sonnet-4
π my-project · my-session · claude-sonnet-4
Animated spinner — A braille spinner animates in the title bar while the agent is working, so you know Pi is thinking even when the tab is in the background:
⠹ π my-project · claude-sonnet-4
Tool tracking — When a tool executes, the title swaps the model name for the active tool so you can see exactly what Pi is doing:
⠹ π my-project · bash
⠹ π my-project · read
⠹ π my-project · edit
Native progress bar — Uses Ghostty's built-in OSC 9;4 progress indicator:
- 🔵 Indeterminate pulse while the agent is thinking or running tools
- 🟢 Green completion flash (100%) when the agent finishes
pi install npm:pi-ghosttyOr try it without installing:
pi -e npm:pi-ghosttyYou can also install from git:
pi install git:github.com/HazAT/pi-ghosttyThe extension hooks into Pi's lifecycle events and writes OSC escape sequences directly to /dev/tty, bypassing Pi's TUI to avoid any rendering interference.
| Pi Event | Title | Progress Bar |
|---|---|---|
session_start |
Set initial title | — |
model_select |
Update model name | — |
agent_start |
Start spinner | Indeterminate pulse |
tool_execution_start |
Show tool name | — |
agent_end |
Stop spinner | Green 100% → clear |
session_shutdown |
— | Clear |
MIT