pi-ghostty
Ghostty terminal integration for Pi — dynamic title bar, progress indicators, and error states
Package details
Install pi-ghostty from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-ghostty- Package
pi-ghostty- Version
1.0.0- Published
- Feb 14, 2026
- Downloads
- 200/mo · 44/wk
- Author
- haza
- License
- MIT
- Types
- extension
- Size
- 7.1 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
],
"video": "https://github.com/HazAT/pi-ghostty/raw/main/assets/demo.mp4"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-ghostty
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.
Features
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
Requirements
Install
pi install npm:pi-ghostty
Or try it without installing:
pi -e npm:pi-ghostty
You can also install from git:
pi install git:github.com/HazAT/pi-ghostty
How it works
The 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 |
License
MIT