Live inside one agent
Save one in Claude Code and it’s stuck in Claude Code. Open another tool and it’s gone.
tmux-only · agent-agnostic
Your saved prompts get stuck inside one agent’s slash commands. tprompt keeps them as plain markdown and pastes the one you pick into whatever’s running in your tmux pane.
$ brew install aurokin/tap/tprompt Needs tmux on Linux or macOS · signed & notarized releases
Press prefix + P → pick a row → it lands in the pane you launched from, verbatim.
Why not just use slash commands?
Save one in Claude Code and it’s stuck in Claude Code. Open another tool and it’s gone.
Built for the agent to trigger on its own — not for you to grab a specific prompt when you want it.
One board, the same in every agent, REPL, and shell. You pick a prompt; it pastes exactly what you wrote.
And because it runs wherever tmux runs, it follows you onto remote machines: SSH in, attach, and your prompt board is right there.
How it works
Runs exclusively through tmux, on Linux or macOS.
Scaffold a plain-markdown prompt and edit the body. Add --project for a per-repo overlay that wins inside that project.
$ tprompt new code-review tprompt init prints the exact tmux binding — it only prints, never edits your config. Add it, reload, and you’re wired up.
$ tprompt init Press the binding, pick a prompt by key, and the text pastes into the pane you launched from — verbatim, never agent-triggered.
Install
tmux required · macOS, Linux, or Windows via WSL2
$ brew install aurokin/tap/tprompt Taps aurokin/homebrew-tap and installs tmux as a dependency. Tagged releases ship signed, notarized macOS (Apple Silicon & Intel) binaries plus Linux x86_64 / arm64 tarballs.
$ mise use -g ubi:aurokin/tprompt@latest Uses mise + ubi to pull the latest signed release. Or grab a tarball from the releases page and verify it against the published SHA256SUMS.
bind-key P display-popup -E "tprompt tui --target-pane '#{pane_id}' --client-tty '#{client_tty}' --session-id '#{session_id}'" Add to tmux.conf, reload, and press prefix + P. Run tprompt init to print this exact line — it never edits your config.