Skip to content

Tool display

The pi-tool-display extension keeps tool calls compact by default, adds richer diff rendering for file edits, truncates verbose tool output, and improves core chat UI details such as thinking labels and the native user prompt box.

Bundled with Selesai

Loaded automatically with Selesai; no per-extension npm install is required.

Manifest entry
./pi-tool-display
Runtime surface
Mixed (commands, tools, shortcuts)

Setup and prerequisites

  • Bundled with Selesai and loaded automatically; no separate install is required.
  • Requires an interactive TUI session; it has no effect in headless mode.
  • A starter config template ships at config/config.example.json; the runtime config is created on first use.

What it sets up

  • Tool rendering — compact OpenCode-style output for read, grep, find, ls, bash, edit, and write, with ASCII-boxed tool calls by default.
  • Diff visualization — richer rendering for file edits with configurable view and indicator modes.
  • Output truncation — hidden/summary/preview modes per tool family with line limits.
  • Native user message box and improved thinking labels.
  • Registers the /tool-display command for live configuration and presets.

What you can configure

Tool display configures compact tool rendering, diff views, output truncation, and the native user message box from one config.json, with /tool-display presets.

Configuration locations and precedence

  1. Tool display config
    ~/.selesai/agent/extensions/pi-tool-display/config.json
    Single user-level file written by /tool-display; no project layer.

Settings

Key / pathType, default, and valuesDescription
readOutputModestring
Default: hidden
Read tool output mode: hidden, summary, or preview.
searchOutputModestring
Default: hidden
Search tool output mode: hidden, count, or preview.
bashOutputModestring
Default: opencode
Bash output mode: opencode, summary, or preview.
previewLinesnumber
Default: 8
Lines shown in preview mode.
boxedToolCallsboolean
Default: true
Draw an ASCII border around each tool call and its output.
enableNativeUserMessageBoxboolean
Default: true
Use the native user message box.

Command, tool, and shortcut controls

Key / pathDescription
/tool-display showShow the effective config summary.
/tool-display preset <opencode|balanced|verbose|boxed>Apply a rendering preset.
/tool-display resetReset to the default boxed preset.

Source evidence

  • src/extensions/pi-tool-display/src/types.ts
  • src/extensions/pi-tool-display/config/config.example.json

Run /tool-display to show the effective config, apply a preset (opencode, balanced, verbose, boxed), or reset to the default. Advanced options live in config.json under the agent extensions directory.

What you can do

  • Keep tool output compact with /tool-display preset opencode or the default boxed style.
  • Switch to balanced for summaries with line counts, or verbose for larger previews.
  • Tune per-tool output modes, preview line counts, and diff rendering in config.json.

Commands, tools, and shortcuts

  • /tool-display show — show the effective config summary.
  • /tool-display preset <opencode|balanced|verbose|boxed> — apply a rendering preset.
  • /tool-display reset — reset to the default boxed preset.

Limits and safety

  • Only interactive TUI sessions render the tool display surfaces.
  • The extension registers its tool renderers only when the tool is not already owned by another extension, so existing renderers are never discarded.
  • Configuration is a single user-level file; there is no project layer.

Source evidence

Selesai version: 0.10.0