Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Pi Claude Style Tools

FreeNot checked

Claude Code-style tool rows for pi with Ctrl+O image previews and consistent built-in, MCP, and custom tool rendering

GitHubEmbed

About

Claude Code-style tool rows for pi with Ctrl+O image previews and consistent built-in, MCP, and custom tool rendering

README

Claude Code inspired tool rendering for Pi — Shiki-powered diffs, status dots, branch connectors, file icons, and configurable output modes.

Features

  • Compact built-in tool rendering for read, bash, grep, find, ls, edit, and write
  • Claude-style OpenAI tool rendering for apply_patch plus common Pi/OpenAI-style tools like webfetch, web_search, fetch_content, task tools, and context tools
  • apply_patch diff previews that render parsed file patches in the call phase, similar to edit/write
  • Adaptive edit/write diffs with split or unified layouts, syntax highlighting, and inline word-level emphasis
  • Diff stat bar with colored add/remove summary and hunk metadata
  • Progressive collapsed diff hints that shorten on narrow terminals
  • Thinking labels during streaming and final messages, with context sanitization
  • MCP-aware rendering with hidden, summary, and preview modes
  • Configurable output modes for read, search, bash, and MCP results
  • Live running previews that show a few output lines for active tool calls (latest lines for bash), persisting until the next tool/text activity
  • Subagent completion notifications restyled to match the same Claude-style tool rows
  • RTK rewrite integration that folds rewrite notices into the bash tool row with a muted (RTK) badge and expanded-only rewrite details
  • Transparent tool backgrounds in transparent or border mode
  • Theme-adaptive palette — borders, branch connectors, dim text, spinner accent, and diff backgrounds automatically follow the active pi theme (set themeAdaptive: false to keep the fixed Claude-style palette)
  • Light Ghostty-sync themes — edit/write diffs use github-light highlighting and light-tinted diff rows; tool pending dots use softer chrome colors
  • Transparent edit/write diffs with universal red/green diff colors
  • Grouped consecutive tool calls with a compact status header and per-tool glance rows (set groupToolCalls: false to disable)
  • Extra detail toggle with Ctrl+Shift+O, increasing expanded preview caps without making the default view heavy
  • Global border patch for all tool rows, including unknown/custom tools

Configuration

Set in .pi/settings.json or ~/.pi/settings.json:

{
  "toolBackground": "border",
  "readOutputMode": "preview",
  "searchOutputMode": "preview",
  "mcpOutputMode": "preview",
  "previewLines": 8,
  "expandedPreviewMaxLines": 4000,
  "extraExpandedPreviewMaxLines": 12000,
  "extraToolOutputExpanded": false,
  "groupToolCalls": true,
  "bashOutputMode": "opencode",
  "bashCollapsedLines": 10,
  "liveToolPreview": true,
  "liveToolPreviewLines": 5,
  "diffCollapsedLines": 24,
  "themeAdaptive": true,
  "diffTheme": "github-dark"
}

Theme integration

When themeAdaptive is true (default), the following colors are derived from the active pi theme on every render and re-derived whenever the theme changes:

Element Derived from
User box, tool rules, code fences dimmutedborderMutedthinkingText
Branch connectors (├─, └─, ) fixed rgb(72) by default (theme-independent); /cc-tools branch theme to follow pi theme
"✻ Turn took Ns" line (final message only, with session total + turn count) muted
Thinking-block text and marker (marker hidden when thinking is collapsed) muted
Diff add/remove accents toolDiffAdded / toolDiffRemoved
Diff background tints mixed against toolSuccessBg base
Spinner verb text (Working…) borderAccent (fallback: accent)
Spinner status text muted

User-supplied diffTheme presets and diffColors overrides always win over theme-derived defaults. File-type icons (e.g. ts, py, rs) keep their language-identity colors and are not theme-derived.

Set themeAdaptive: false to keep the original fixed Claude-style palette regardless of the active pi theme.

On /resume, /new, or /fork, tool chrome is rebound from the current pi theme (no coupling to Ghostty or other theme extensions). If you use Ghostty sync, listing it above this extension in settings.json is recommended so setTheme runs before chrome rebind.

Toggle at runtime with /cc-theme

/cc-theme           # show current setting + theme name
/cc-theme status    # show current setting + color preview (incl. spinner)
/cc-theme on        # follow pi theme
/cc-theme off       # keep fixed Claude palette
/cc-theme toggle    # flip the current value

The selection is persisted to ~/.pi/settings.json and applied to the next rendered tool row. No restart required.

Repaint the spinner with /cc-spinner

The spinner glyph itself is still colored by pi's loader using accent, while the verb text (e.g. Cooking…) follows borderAccent by default so it stays lively without being the exact same color as the glyph. The status suffix (e.g. (thinking · ↓ 10 tokens · 2s)) follows muted. Use /cc-spinner to bind either text element to any other theme color key:

/cc-spinner preview          # list every common theme key with a colored sample
/cc-spinner verb <key>       # change the verb color (e.g. thinkingHigh, mdHeading)
/cc-spinner status <key>     # change the status suffix color
/cc-spinner reset            # restore defaults (verb=borderAccent, status=muted)

The selection is persisted as spinnerVerbColor / spinnerStatusColor in ~/.pi/settings.json and applied on the next spinner tick.

Tool background modes

Value Behavior
default Standard Pi tool backgrounds
transparent Transparent tool backgrounds
border Transparent backgrounds with top/bottom border lines

Use /cc-tools to control tool UI at runtime:

/cc-tools status          # show style, grouping, and extra-detail state
/cc-tools outlines        # tool style: outlines, transparent, or default
/cc-tools group toggle    # toggle grouped adjacent/concurrent tool calls
/cc-tools group off       # disable grouping (also ungroups current grouped rows)
/cc-tools detail toggle   # same mode as Ctrl+Shift+O

Output modes

Setting Values Default
readOutputMode hidden, summary, preview preview
searchOutputMode hidden, count, preview preview
mcpOutputMode hidden, summary, preview preview
bashOutputMode opencode, summary, preview opencode

Display settings

Setting Default Description
previewLines 8 Lines shown in collapsed preview mode
expandedPreviewMaxLines 4000 Max lines when expanded with Ctrl+O
extraExpandedPreviewMaxLines 12000 Max lines after Ctrl+Shift+O extra-detail mode
extraToolOutputExpanded false Start with Ctrl+Shift+O extra-detail mode enabled
groupToolCalls true Group adjacent/concurrent tool calls under a compact status header
bashCollapsedLines 10 Lines for collapsed bash output
liveToolPreview true Show a small live output preview while tools are still running
liveToolPreviewLines 5 Lines shown in the collapsed live preview
diffCollapsedLines 24 Diff lines before collapsing

Notes

This package targets recent Pi versions where tool renderers use:

  • renderCall(args, theme, context)
  • renderResult(result, { expanded, isPartial }, theme, context)

Unknown/custom tools do not have a public global renderer hook in Pi, so this package patches container rendering to add top/bottom borders for all tool executions in border mode.

Credits

This project builds upon and was inspired by the excellent work of:

from github.com/FammasMaz/pi-cc-tools

Install Pi Claude Style Tools in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install pi-claude-style-tools

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add pi-claude-style-tools -- npx -y @viniraioli/pi-claude-style-tools

FAQ

Is Pi Claude Style Tools MCP free?

Yes, Pi Claude Style Tools MCP is free — one-click install via Unyly at no cost.

Does Pi Claude Style Tools need an API key?

No, Pi Claude Style Tools runs without API keys or environment variables.

Is Pi Claude Style Tools hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Pi Claude Style Tools in Claude Desktop, Claude Code or Cursor?

Open Pi Claude Style Tools on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Pi Claude Style Tools with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs