pi-oneline-tools

Renders Pi's read/grep/find/ls/bash tool calls as a single dim line each instead of a bordered box, with the full output one keypress away.

Packages

Package details

extension

Install pi-oneline-tools from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-oneline-tools
Package
pi-oneline-tools
Version
1.2.0
Published
Sep 17, 2026
Downloads
219/mo · 10/wk
Author
mattschoe
License
BSD-3-Clause
Types
extension
Size
18.4 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-oneline-tools

What it does

A Pi extension that renders read, grep, find, ls and bash as one dim line each instead of a bordered box. Consecutive calls of the same tool are grouped without blank lines; switching to a different tool keeps one blank separator.

Reason

Its incredibly annoying to see so much popup in the TUI when the agent is just reading files, this removes clutter and makes it easier to focus on writes.

Install

pi install npm:pi-oneline-tools

What it looks like

Before:

┌─ read ────────────────────────────────────────────────┐
│ /home/you/project/src/config.ts                       │
│                                                       │
│   1  import { z } from "zod";                         │
│   2                                                   │
│   3  export const ConfigSchema = z.object({           │
│   …                                                   │
└───────────────────────────────────────────────────────┘

After:

read src/config.ts (84 lines)
read src/types.ts (31 lines)

grep "ConfigSchema" (12 matches)

ls src (23 entries)

npm test -- --watch=false... (140 lines)

Press ctrl+o to expand the rows and see the original, uncollapsed, UI.

The compact bash override also exposes an optional reason argument for compatibility with @mattschoe/pi-plan 1.1.0 and newer. Pi Plan uses it only when a command needs user approval, so ordinary auto-approved commands remain unchanged.

Conflicts

This extension works by re-registering the built-in tool definitions with renderShell: "self" and its own renderCall / renderResult. Any other extension that overrides those same five tools (pi-tool-display for example) will conflict, and whichever loads last wins. Pi Plan is explicitly compatible because it preserves bash overrides that already expose the optional reason field.

Examples