$ piper

piper

A keyboard-driven API client for your terminal.

A fast, keyboard-driven API client that runs where you already are. Tab between panels, edit headers and bodies in popups, search your history, read syntax-highlighted JSON — and never reach for the mouse. Postman can keep it.

$ ls install/

Installation options

piper runs on Bun. Install it, then type piper to launch the TUI.

bun install -g @termdx/piper
$ play demo.mp4

See it run

piper — Ctrl+Enter to send
demo recording — coming soon

A recording of the TUI in flight: tab, edit, send, read. Until then the README carries the full keymap.

$ cat what-is-piper.txt

What is piper?

piper is an interactive API client that runs inside your terminal, built on OpenTUI. It's protocol-agnostic by design — it starts with HTTP, and chaining, WebSocket streaming, and saved collections are what it grows into. Everything is a keystroke: no mouse, no window management, no context switch.

interactive TUI

Tab through panels, edit headers and body in popups, navigate history with search. Ctrl+/ prints the whole keymap when your fingers forget.

highlighted JSON

Request and response bodies are pretty-printed and colour-coded, so a payload is something you read rather than decode.

history

URLs autocomplete from your past requests as you type. The endpoint you hit forty times yesterday is two keystrokes away today.

one-key exports

Copy the current request as cURL, or yank response text straight to the clipboard. Handing a repro to someone costs one keystroke.

themes

Tokyo Night, Catppuccin, Nord, Gruvbox and more, switched with Ctrl+T. It should match the rest of your terminal, not fight it.

protocol-agnostic

HTTP today. Request chaining — piping one response into the next like Unix pipes — plus WebSocket streaming and collections with variables are next.

$ man piper

Frequently asked

Yes — piper runs on Bun, so bun install -g @termdx/piper is the install path. Once it's on your PATH, plain piper launches it.

There's no need for one. Tab and Shift+Tab cycle panels, Ctrl+Enter sends, Ctrl+M picks the method, Ctrl+B and Ctrl+H open the body and header editors. Ctrl+/ shows the rest.

Ctrl+E exports the current request as a cURL command, and Ctrl+Y yanks selected response text to the clipboard — for the pull request, the bug report, or the colleague who doesn't have piper yet.

Not yet, and it's honest about that: those are the next three things on the roadmap. Chaining pipes one response into the next, WebSockets stream in real time, and collections bring saved requests with variable substitution.

Yes — MIT, on GitHub. Issues and pull requests are read by people who use it daily.

$ subscribe --product piper

Hear about it before your feed does.

Release notes when piper ships something worth your attention. A few emails a year, all of them changelog.