cd /news/developer-tools/pi-coding-agent-ghostty-setup-tokyo-… Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-66149] src=gist.github.com β†— pub= topic=developer-tools verified=true sentiment=Β· neutral

Pi coding agent + Ghostty setup (tokyo-night-storm-improved, statusline, tps-meter, startup-header)

A developer shared a setup combining the Pi coding agent with the Ghostty terminal emulator, featuring the tokyo-night-storm-improved theme, a custom statusline, tps meter, and startup header. The configuration includes a blurred background image and a dark color palette inspired by Oscura Midnight.

read2 min views2 publishedJul 20, 2026

Glass/blur/image = Ghostty. Agent UI = Pi theme + statusline + tps meter + startup header.

tokyo-night-storm-improved

πŸ“¦ https://www.npmjs.com/package/pi-theme-tokyo-night-storm-improved

πŸ™ https://github.com/H1V35/pi-theme-tokyo-night-storm-improved

@narumitw/pi-statusline

πŸ“¦ https://www.npmjs.com/package/@narumitw/pi-statusline

πŸ™ https://github.com/narumiruna/pi-extensions

pi-tps-meter

πŸ“¦ https://www.npmjs.com/package/pi-tps-meter

πŸ™ https://github.com/vskrch/pi-tps-meter

pi-startup-header

πŸ“¦ https://www.npmjs.com/package/pi-startup-header

πŸ™ https://github.com/EnderLiquid/pi-startup-header

pi install npm:pi-theme-tokyo-night-storm-improved
pi install npm:@narumitw/pi-statusline
pi install npm:pi-tps-meter
pi install npm:pi-startup-header
{
  "packages": [
    "npm:pi-theme-tokyo-night-storm-improved",
    "npm:@narumitw/pi-statusline",
    "npm:pi-tps-meter",
    "npm:pi-startup-header"
  ],
  "theme": "tokyo-night-storm-improved",
  "quietStartup": true,
  "tokenSpeed": {
    "display": "tps",
    "useProviderTokens": false,
    "countStrategy": "direct",
    "endTpsBehavior": "last"
  }
}

quietStartup: true

hides the default Pi startup header text.- Toggle it in /settings

(or set it insettings.json

). - If you want the fancy ASCII header from pi-startup-header

, leavequietStartup

off /false

so the extension can show it. WithquietStartup: true

, startup chrome is suppressed.

{
  "palette": "tokyo-night",
  "density": "compact",
  "separator": "none",
  "segments": [
    "brand",
    "provider",
    "model",
    "thinking",
    "cwd",
    "branch",
    "tools",
    "context",
    "tokens",
    "cost",
    "time"
  ],
  "segmentText": {
    "brand": { "prefix": "", "suffix": "" },
    "provider": { "prefix": "πŸ”Œ ", "suffix": "" },
    "model": { "prefix": "πŸ€– ", "suffix": "" },
    "thinking": { "prefix": "🧠 ", "suffix": "" },
    "cwd": { "prefix": "πŸ“ ", "suffix": "" },
    "branch": { "prefix": "🌿 ", "suffix": "" },
    "tools": { "prefix": "", "suffix": "" },
    "context": { "prefix": "πŸͺŸ ctx ", "suffix": "" },
    "tokens": { "prefix": "πŸ”’ ", "suffix": "" },
    "cost": { "prefix": "πŸ’Έ $", "suffix": "" },
    "time": { "prefix": "πŸ•’ ", "suffix": "" },
    "turn": { "prefix": "πŸ” #", "suffix": "" }
  },
  "extensionStatusIcons": {
    "chrome-devtools": "🌐",
    "codex-usage": "πŸ“Š",
    "caffeinate": "πŸ’Š",
    "firecrawl": "πŸ”₯",
    "github-pr": "πŸ”Ž",
    "goal": "🎯",
    "lsp": "🧰",
    "plan-mode": "πŸ“",
    "pisync": "πŸ”„",
    "subagents": "πŸ§‘β€πŸ€β€πŸ§‘",
    "unknown-error-retry": "πŸ”"
  }
}

(~/Library/Application Support/com.mitchellh.ghostty/config.ghostty

on macOS)

theme = oscura-midnight-grok
font-family = "JetBrainsMono NFM Regular"
font-size = 20
window-padding-x = 10
window-padding-y = 10
window-decoration = true
cursor-style = block
adjust-cell-height = 35%
mouse-scroll-multiplier = 2
window-colorspace = "display-p3"
copy-on-select = clipboard
window-padding-balance = true
window-save-state = never
macos-titlebar-style = transparent

background-blur = 20
background-opacity = 0.95
background-image = ~/image5.png
background-image-opacity = 0.30
background-image-fit = cover
background-image-position = center
minimum-contrast = 5
foreground = #e8e4ef
background = #0c0b10
foreground = #e8e4ef
cursor-color = #c4a7e7
cursor-text = #0c0b10
selection-background = #3d2a4f
selection-foreground = #f2eef8

palette = 0=#1a1820
palette = 8=#5a5466
palette = 1=#e06c75
palette = 9=#f08a92
palette = 2=#7fd99a
palette = 10=#a0e8b4
palette = 3=#e0af68
palette = 11=#f0c674
palette = 4=#7aa2f7
palette = 12=#9cbcff
palette = 5=#c4a7e7
palette = 13=#d4b8f5
palette = 6=#7dcfff
palette = 14=#a0e0ff
palette = 7=#d0cbd8
palette = 15=#f5f2fa
  • Pi has no transparency options. Empty theme colors (""

) use the terminal default; solid*Bg

hex paints over glass. - Real glass/blur/image transparency is 100% Ghostty ( background-opacity

,background-blur

,background-image*

). - Swap ~/image5.png

for your own wallpaper path. - Quiet mode: set "quietStartup": true

in settings, or toggle it in/settings

.

── more in #developer-tools 4 stories Β· sorted by recency
── more on @ghostty 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/pi-coding-agent-ghos…] indexed:0 read:2min 2026-07-20 Β· β€”