@arvoretech/pi-widget-wrangler
PI extension that corrals widgets from every extension into one panel where you show or hide each one 🤠
Package details
Install @arvoretech/pi-widget-wrangler from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@arvoretech/pi-widget-wrangler- Package
@arvoretech/pi-widget-wrangler- Version
1.0.1- Published
- Jun 29, 2026
- Downloads
- not available
- Author
- joao.barros.arvore
- License
- MIT
- Types
- extension
- Size
- 15.3 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@arvoretech/pi-widget-wrangler 🤠
Round up the widget herd. Every Pi extension can paint a widget above or below
your editor with ctx.ui.setWidget(...). Install a few of them and the screen
gets noisy fast. Widget Wrangler corrals every widget — from any
extension — into one panel where you flip each one shown or hidden.
It is fully generic: it does not know or care which extensions you run. Anything
that calls setWidget shows up in the corral automatically.
What it does
- Intercepts
ctx.ui.setWidget(the shared UI surface all extensions write to) and keeps a live registry of every widget, keyed by its id. - A panel (
/wrangleorCtrl+Shift+W) lists every widget it has seen, with ashown/hiddentoggle each — same feel as Pi's/mcppanel. - Hidden widgets are suppressed before they ever reach the screen. Your choices persist per session branch (saved via session entries), so they survive reloads and branch navigation.
- It never touches
ctx.ui.notify, so error/info notifications from your extensions still pop up and fade on their own — even for a hidden widget.
Usage
/wrangle— open the corral.Ctrl+Shift+W— open the corral (default keybinding, configurable).- In the panel: arrow keys to move,
space/enterto toggle, type to search,escto close. Changes apply instantly.
Changing the keybinding
The shortcut is a CLI flag, widget-wrangler-key. Override it when launching pi:
pi --widget-wrangler-key=alt+w
Pass an empty value to disable the shortcut entirely and rely only on
/wrangle:
pi --widget-wrangler-key=
Note on
Alt/Option:alt+*shortcuts are reliable on Linux but depend on terminal configuration on macOS (e.g. iTerm2 needs "Use ⌥ as Meta"). The defaultctrl+shift+gis the most portable choice across macOS, Linux, and Windows.
Install
Add it to your Pi extensions (npm package or local). It registers a command and a shortcut; no configuration required.
How it works (and one caveat)
All extensions share a single ctx.ui object, so wrapping setWidget once
intercepts every extension's widget calls. A widget appears in the corral the
first time its owning extension sets it. Most status widgets re-set themselves
every turn, so they show up almost immediately; a widget set exactly once,
before this extension loaded, only becomes controllable after its next update.
License
MIT