akilin/claude-plugins/tree/main/plugins/better-tool-rows

一个 Claude Code 插件,渲染更短、更安静的工具行:相对的 Read/Edit/Write 路径、代替 diff 的 +/- 行数、单行 Bash 命令,以及折叠的长输出。
akilin/claude-plugins/tree/main/plugins/better-tool-rows

better-tool-rows 是 Claude Code 插件,只改变工具行在终端中的渲染方式。Read/Edit/Write 会显示相对于会话资料夹的文件路径(完整路径仍藏在连结后面);Edit/Write 会隐藏 diff,并在该行显示 +/- 行数;连续的编辑会移除空白分隔行;Bash 命令会合并为一行并以省略号截断;创建或删除文件的 Bash 命令会列出每个文件及行数;超过 5 行的 Bash 输出会折叠到可点击的行数后面。通过 akilin/claude-plugins marketplace 安装。采用 MIT 许可。姊妹插件 prompt-bubbles 会把使用者提示绘制成右对齐的气泡。
请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。
claude plugin marketplace add akilin/claude-plugins claude plugin install better-tool-rows
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