Replace Claude Code's spinner with anything useful.

While Claude Code works, its spinner shows a random word such as "Pondering…". waitwise is a Claude Code plugin that replaces those words with content that you choose.

When you run the setup, your own Claude asks what you want to see. You can give any theme, and Claude writes the list for you. Or you can start from a preset. Some examples:

✻ Owning beats owing… (affirmations)

✻ Rain falls. The build waits… (Zen)

✻ madrugar — to get up early… (Spanish flashcards)

- Claude Code

- Python 3, available as python3

Run these commands in a Claude Code session:

- Add the marketplace from GitHub:

/plugin marketplace add marciob/waitwise

- Install the plugin:

/plugin install waitwise@waitwise

- Run the setup:

/waitwise:setup

The new lines show in the spinner of your next message. You do not have to restart Claude Code.

Each line shows a word or phrase and its English meaning.

Select "Custom theme" in the setup. Claude asks for a theme, a tone and a language. Then it writes 300 lines and installs them.

- Claude Code reads the spinnerVerbskey in~/.claude/settings.json. If you setCLAUDE_CONFIG_DIR, it reads the file in that folder.

- Claude Code selects one random line each time the spinner appears. The line stays until the spinner closes.

- If a task list has a step in progress, the spinner shows that step instead of a line from your list.

- The script plugins/waitwise/scripts/spinner.pywrites only thespinnerVerbskey. It does not change other settings.

- The first time you install a list, the script saves your old spinnerVerbsvalue inwaitwise-state.json. Therestorecommand uses this file.

- If settings.jsonis not valid JSON, the script stops and changes nothing.

- Run /waitwise:setup restoreto put back your old spinner.

- Run /plugin uninstall waitwise@waitwise.

If you uninstall the plugin first, your list stays in settings.json. To remove it, delete the spinnerVerbs key from that file.

- Make a folder plugins/waitwise/presets/<id>/.

- Put one line per verb in lines.txt. Keep each line at 60 characters or fewer. Do not put punctuation at the end, because Claude Code adds "…".

- Add preset.json:The setup groups the presets by{ "name": "Display name", "description": "One sentence.", "language": "en", "group": "Mindset" }group.

- Run claude plugin validate .from the repository root.

MIT