A human and bot-friendly command-line interface for the Nostr protocol. Post notes, send encrypted DMs, manage profiles — all from your terminal.
Switch between identities like git branches. Each profile has its own keys, relays, and aliases.
Use aliases and NIP-05 usernames instead of raw npubs. nostr dm xavier just works.
Pipes, scripts, cron jobs. echo "hello" | nostr — compose with any tool.
NIP-04 / NIP-44 encrypted direct messages with interactive chat mode.
Live feed, posting, and slash commands. Like a tiny Nostr client in your terminal.
nostr nip 01 fetches and renders any NIP specification right in your terminal.
| Social | |
| nostr post [message] | Post a text note (interactive if no message given) |
| nostr dm [profile] [message] | Send an encrypted DM or start interactive chat |
| nostr follow [profile] | Follow a user |
| nostr [profile] | View a user's profile and latest notes |
| nostr [profile] --watch | Live-stream a user's new notes |
| Profile | |
| nostr login | Create a new profile or import an existing nsec |
| nostr switch [profile] | Switch between profiles |
| nostr profile | Show your current profile |
| nostr profile update | Interactively update your profile metadata |
| nostr profiles | List all local profiles |
| Infrastructure | |
| nostr relays | Manage relays (add, remove, check status) |
| nostr alias [name] [npub|nip05] | Create an alias for quick access |
| Reference | |
| nostr nip [number] | View a NIP specification in the terminal |
| nostr version | Print version info |
| nostr update | Check for updates and self-update |
A <profile> can be an alias, npub, or NIP-05 address (e.g. user@domain.com).
Append --json to most commands for machine-readable output.