awesome-pi-themes

A curated collection of 65 original dark themes for Pi Coding Agent with a live web preview

Packages

Package details

extensiontheme

Install awesome-pi-themes from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:awesome-pi-themes
Package
awesome-pi-themes
Version
1.2.13
Published
Sep 13, 2026
Downloads
6,672/mo · 2,856/wk
Author
isashi
License
MIT
Types
extension, theme
Size
196.4 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "image": "https://raw.githubusercontent.com/isashi/awesome-pi-themes/main/docs/screenshots/verdigris-nocturne.jpg",
  "themes": [
    "./themes"
  ],
  "extensions": [
    "./extensions"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Awesome Pi Themes

npm version npm downloads license: MIT

A curated collection of 65 original dark themes for pi, with a standalone browser preview and ready-to-copy JSON theme files.

The goal of this project is to make pi feel more personal and readable during real coding sessions. Feedback is very welcome, especially on contrast, syntax colors, warnings/errors, diffs, and long-session readability.

Preview

Browse the live gallery:

https://isashi.github.io/awesome-pi-themes/

Featured theme:

Verdigris Nocturne screenshot

Install

Install all themes from npm

pi install npm:awesome-pi-themes

Then select a theme from /settings, or set it in your pi settings file:

{
  "theme": "princess-nam-rom"
}

Install one theme manually

This uses pi's documented theme directory, honoring PI_CODING_AGENT_DIR when set.

PI_AGENT_DIR="${PI_CODING_AGENT_DIR:-$HOME/.pi/agent}"
mkdir -p "$PI_AGENT_DIR/themes"
curl -fsSL "https://raw.githubusercontent.com/isashi/awesome-pi-themes/main/themes/princess-nam-rom.json" \
  -o "$PI_AGENT_DIR/themes/princess-nam-rom.json"

Then select princess-nam-rom from /settings, or set it as your active theme.

Try a local theme without installing it

pi --theme ./themes/princess-nam-rom.json

Optional: look pack (header/footer)

This package also ships an opt-in extension, extensions/look-pack.ts, that replaces pi's built-in startup header with a branded banner and the footer with a bolder, powerline-style status line: git branch, a context-usage gauge, model, tokens, and cost, each in its own colored pill. Every color and background comes from the active theme's own tokens, so it matches whichever of the 65 themes you have selected. Preview it in the live gallery — toggle "Look pack" above the terminal mock to compare it against the default footer.

Installing npm:awesome-pi-themes for the colors alone changes nothing — the look pack does nothing until you explicitly turn it on:

/look-pack

Run it again to turn it off. The choice is saved (per machine, not per project), so it stays enabled across restarts until you toggle it off. The footer updates immediately. The header only draws at the very top of a session — like pi's own built-in banner, it can't be redrawn once the conversation has scrolled past it — so after enabling it, run /new or restart pi to see it.

If you'd rather try it without installing the full package first:

pi -e ./extensions/look-pack.ts

Themes

Click a name to open the live preview for that theme.

Theme Screenshot
alien-candy
arctic-aurora
auric-cascade
aurora-circuit
azurite-vespers
basalt-bloom
bramble-current
breezy-ocean
celadon-codex
cinder-grove
chrome-orchid
cosmic-lagoon
cobalt-sanctum
copper-comet
crimson-noir
cyber-mint
dragon-lulu
eclipse-tide
ember-sunset
enchanted-forest
glitch-carnival
golden-dusk
graphite-seaglass
inkfire-bay
iron-lotus
laser-swamp
lavender-mist
lunar-alchemy
meomeo-mang
mercury-lantern
midnight-basilica
midnight-orchid
moonlit-terrace
moonstone-koi
moss-mirage
nebula-scriptorium
neon-sakura
nocturne-garden
noodle-nebula
obsidian-harbor
opal-matrix
opal-vespers
paper-moon
petrol-peony
plasma-pomegranate
polar-lantern
princess-nam-rom
quantum-pickle
quartz-fjord
radioactive-lullaby
rainbow-prism
sable-citadel
signal-cloister
sapphire-ember
starry-night
static-dragonfruit
stormglass-forge
tuscan-sun
varigotti-sea
velvet-meteor
verdigris-nocturne
violet-breakwater
volcanic-bubblegum
willow-wraith
winter-wisp

Feedback wanted

If you try these themes, please open an issue with notes about:

  • readability during longer coding sessions
  • low-contrast text, borders, warnings, or errors
  • confusing diff colors
  • themes you would add, remove, rename, or tune
  • screenshots or terminal/font combinations where a theme looks worse than expected

Issues: https://github.com/isashi/awesome-pi-themes/issues

Local development

Requirements:

  • Node.js 18+
  • npm

Install dependencies:

npm install

Run the local preview server:

npm run preview

Use the project prompt template for the repeatable add-theme patch release workflow:

/new-theme-patch-release [optional style or name hint]

Build the static GitHub Pages site:

npm run build

Validate the project:

npm run check

Add a new theme

  1. Create a JSON file in themes/, for example themes/my-theme.json.
  2. Make sure the theme name matches the file slug, for example my-theme.
  3. Run:
npm run check
npm run build
  1. Commit the theme and regenerated docs/index.html.

Project structure

awesome-pi-themes/
  preview-themes-web.js
  package.json
  README.md
  themes/
    *.json
  docs/
    index.html
    screenshots/
      *.jpg

Changelog

See CHANGELOG.md.

License

MIT