akilin/claude-plugins/tree/main/plugins/prompt-bubbles

A Claude Code plugin that renders your own prompts as right-aligned chat bubbles to distinguish them from Claude's replies, with verified manifest, hooks module, screenshots and marketplace install instructions.
akilin/claude-plugins/tree/main/plugins/prompt-bubbles

prompt-bubbles is a Claude Code plugin hosted at github.com/akilin/claude-plugins that draws your own prompts as right-aligned chat bubbles (rounded box with a cornflower-blue border, sized to the longest line and capped at three quarters of the terminal width) so they stand apart from Claude's replies. Task notifications and messages from other agents or sessions keep the usual rendering, as does the desktop app which already has bubbles. It is purely a rendering change: what the model sees and does is untouched. Install via the plugin marketplace: /plugin marketplace add akilin/claude-plugins, then /plugin install prompt-bubbles@akilin-plugins. The repo includes screenshots, a dev container with Node, TypeScript and Claude Code preinstalled, and validation commands (claude plugin validate ., claude plugin test ., tsc). Licensed under MIT. It ships alongside a companion plugin, better-tool-rows, which shortens and quietens tool rows.
Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.
claude plugin marketplace add akilin/claude-plugins claude plugin install prompt-bubbles
Claude Code plugins that change how the terminal UI looks. They only change rendering: what the model sees and does is untouched.
/plugin marketplace add akilin/claude-plugins
/plugin install better-tool-rows@akilin-plugins
/plugin install prompt-bubbles@akilin-plugins
With both plugins:

The same session without them (zoomed out to fit on one screen):

Shorter, quieter tool rows.
cds elsewhere or /cd moves the project. Files outside the folder keep their full path. Windows paths match with either separator and in any case.Update(notes.md) +3 -1. A path too long to fit on the line with its counts is cut to its end (Update(…/src/notes.md) +3 -1), still opening the full path on ctrl+click. An edit held for review rather than written is shown as usual.Read 7 lines), the blank line stays.… so Bash(command) always fits on one line, wide characters included.Created notes.md +10, Deleted notes.md -10) instead of a diff of all the lines each file has or had.▸ 12 lines; unfolded, it shows up to 500 lines and counts the rest. If the command was cut or joined, the fold also holds the full command with syntax highlighting (▸ command, 12 lines); with 5 lines of output or fewer, the output stays as it is and the fold holds the command alone (▸ command).Your own prompts are drawn as right-aligned chat bubbles (a rounded box with a cornflower-blue border, as wide as the longest line and at most three quarters of the terminal) so they stand apart from Claude's replies. Task notifications and messages from other agents or sessions keep the usual drawing, and so does the desktop app, which already has bubbles.
The repo has a dev container (Node, TypeScript and Claude Code preinstalled). It keeps Claude Code's config in a volume of its own, so logins and settings survive a rebuild, and sets VS Code's chat to auto-approve tool calls (chat.permissions.default), which is only safe inside the container.
From a plugin's folder (e.g. plugins/better-tool-rows):
claude plugin validate .
claude plugin test .
npx -y -p typescript tsc -p tsconfig.json
tsc needs the API types Claude Code writes to .claude-plugin/types/ (gitignored) when it loads the plugin, so on a fresh clone load it once first, e.g. claude --plugin-dir plugins/better-tool-rows.
MIT