The pste CLI
Pipe stdin in, get a URL out. The whole tool is a small, statically-linked Go binary — standard library only, no dependencies.
Install
macOS · Linux
# Build from source — Go 1.21+, standard library only
git clone https://github.com/PrexorJustin/pste
cd pste/cli && go build -o pste .
# Homebrew, scoop and a curl installer land with the public launch.
Quickstart
$
# paste a file
$ pste error.log
https://pste.dev/k7m2q9
# pipe from stdin, burn after read, 1 hour expiry
$ cat secrets.env | pste --burn --expire 1h
https://pste.dev/r3p8mq
# private (E2E) — key in fragment
$ pste --private notes.md
https://pste.dev/x4v7nq#k=Ab3xT7…
Flags
--lang <name> Force a language (auto-detected by default).
--expire <preset> 1h, 1d, 1w, 30d, never (capped at 30d).
--burn Self-destruct after the first read.
--private Client-side E2E encryption. Key in URL fragment.
--url <url> Override the server (default $PSTE_URL or https://pste.dev).
Authentication
Sign-in is optional. Without it you get the anonymous rate limit (30/min/IP);
authenticated requests get 120/min/account. Generate a personal access token at /account/tokens, then:
pste auth login Paste a personal access token from /account/tokens and store it for future paste commands.
pste auth status Show who you're signed in as, or report no token stored.
pste auth logout Forget the stored token. Revoke it at /account/tokens too, otherwise it stays valid.