Ten slots. Named or directory-scoped.

A clipboard
you can address.

Keep commands, URLs, IDs, and multiline text in persistent bins. Select a slot with one number, then read or write the system clipboard without leaving the terminal.

Install with Go go install github.com/evanjhopkins/terminal-paste-bin/cmd/tpb@latest
Requires Go 1.26.6+ · macOS or Linux Build from a checkout ↗

Pick a slot.
Choose an action.

tpb - myapp
$ tpb myapp Terminal Paste Bin - myapp 1  postgres://localhost:5432/myapp > 2  deploy@prod.example.com 3  {"customer":"cus_123","enabled":true} 4  <blank> 5  <blank> 6  <blank> 7  hello ↵ world 8  <blank> 9  <blank> 0  <blank> ↑/↓ move   1-0 select   →/v view   r read   w write   x execute   d delete   q quit $

Small surface.
Useful boundaries.

Each bin is intentionally limited to ten slots. Use a stable name for values shared across projects, or let the current directory select the bin automatically.

01

Ten direct-access slots.

Slots map to 1 through 9, then 0. Values can contain Unicode and multiple lines.

02

Directory bins.

Run tpb with no argument to open the bin for the canonical path of the current directory.

03

Named bins.

Use tpb myapp to create or reopen a bin that is available from any working directory.

04

Clipboard in and out.

Save the current system clipboard with w, or put the selected slot back with r.

05

Search every bin.

tpb search text returns script-friendly, tab-separated matches without opening the TUI.

06

Local JSON storage.

Data is protected by file locking and atomic writes. TPB has no account, daemon, sync service, or network calls.

Clipboard to slot.
Slot to clipboard.

There is no setup file to write and no process to keep running.

Clipboard support

macOS: pbcopy + pbpaste
Wayland: wl-clipboard
X11: xclip or xsel

01

Open a bin

Run tpb for the current directory, or tpb myapp for a reusable named bin.

02

Select a slot

Press 1 to 9 or 0. Arrow keys also move through the list.

03

Write, then read

Press w to save the system clipboard and exit. Reopen the bin, select the slot, and press r to copy it back.

Bins stay
manageable.

List and search from scripts, rename or remove named bins, and preview cleanup before deleting stale directory bins or empty bins.

tpb list

List named bins, then directory bins, in alphabetical order.

tpb search postgres

Search all non-blank slots with a case-insensitive substring match.

tpb rename old new

Rename a named bin without changing its slots.

tpb delete myapp

Permanently remove a named bin after an interactive confirmation.

tpb prune --dry-run

Preview empty bins and directory bins whose paths no longer exist.

tpb doctor

Report clipboard availability plus stale and empty bins.

Execution: pressing x runs the selected slot immediately through $SHELL -c, without confirmation.