原始内容
https://github.com/user-attachments/assets/70335937-849d-4404-89bf-5078cefe6efe
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