pi-quotes
v0.1.1
Published
A Pi extension that adds quotes from a text file to the Working... spinner
Maintainers
Readme
Pi Quotes
Simple editable quotes for Pi's working spinner
Before
⠋ Working...After
⠋ Working... Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Why
Pi's built-in Working... indicator is functional but minimalist. Like mirrors in an elevator, pi-quotes provides a fun distraction that makes the wait seem shorter.

Install
pi install npm:pi-quotesOr install from GitHub:
pi install git:github.com/danielkhoo/pi-quotesUsage
Inline mode, the default:
⠋ Working... Optimism is an occupational hazard of programming. Feedback is the treatment. — Kent BeckMultiline mode:
⠋ Working...
Optimism is an occupational hazard of programming. Feedback is the treatment. — Kent BeckMultiline mode attempts to center the quote using the current terminal width.
Commands
/quotes Enable quotes and show the current mode
/quotes inline Put the quote on the same line as Working...
/quotes multiline Put the quote on the next line and attempt to center it
/quotes edit Edit your user-owned quotes file
/quotes path Show the path to your user-owned quotes file
/quotes reload Reload quotes from disk immediately
/quotes off Restore Pi's default Working... message
/quotes on Re-enable quotesMode and on/off changes are saved to $PI_CODING_AGENT_DIR/pi-quotes/config.json and restored on the next Pi start.
Custom Quotes
Quotes are stored in an editable file. /quotes edit opens Pi's built-in editor UI. Use one quote per line. Blank lines and lines starting with # are ignored.
After editing, quotes are saved and reloaded automatically. If you edit the file outside of Pi, changes are picked up automatically at the start of the next agent run or apply them immediately with /quotes reload
To see the editable file path run /quotes path
Notes
pi-quotes intentionally uses ctx.ui.setWorkingMessage(), not a widget. That means it modifies the built-in working loader message directly. Multiline centering is best-effort: it accounts for wide (CJK/emoji) characters and uses the terminal width when the message is set, but it is not fully responsive after Pi wraps long lines or the terminal resizes.
File paths follow Pi's own config resolution (via getAgentDir()), so PI_CODING_AGENT_DIR overrides — including ~ expansion — behave exactly like they do for Pi itself.
Dependencies
@earendil-works/pi-coding-agent(peer)
License
MIT © 2026 Daniel Khoo
