# Pop

> Send emails from the terminal via a TUI or CLI flags, using Resend or SMTP, with Markdown bodies, attachments, and AI agent skill support.

Stars: 2.9k · Language: Go · License: MIT · Categories: Productivity

- Repository: https://github.com/charmbracelet/pop
- Page: https://www.trmn.sh/tools/pop

## Install

- Homebrew: `brew install pop`
- Go: `go install github.com/charmbracelet/pop@latest`
- Nix: `nix-env -iA nixpkgs.pop`

## Overview

Pop is an email client for the terminal that sends messages through either a text-based user interface or plain command-line flags. Running `pop` with no arguments launches the TUI. For scripting, the body can be piped in on stdin and fields passed as flags, for example `pop < message.md --from ... --to ... --subject ... --attach invoice.pdf`.

Delivery goes through Resend or SMTP. `pop auth` authenticates with Resend via OAuth, and a `RESEND_API_KEY` environment variable also works. For SMTP, set `POP_SMTP_HOST`, `POP_SMTP_PORT`, `POP_SMTP_USERNAME` and `POP_SMTP_PASSWORD`. Other settings include `POP_FROM` to pre-fill the sender and `POP_SIGNATURE` to append a signature. Message bodies are rendered from Markdown to HTML by default. `POP_PLAINTEXT=true` or `--plaintext` sends plain text instead, and `--preview` lets you review and edit a message before it is sent.

Pop is meant to be combined with other command-line tools. The README shows `gum` choosing the sender and recipient, `crush run` generating a body that is piped into `pop`, and `invoice` producing a PDF that `pop --attach` sends. For AI coding agents, `pop skill` prints a skill definition that can be written to a SKILL.md file, and `pop install-skill` installs it for Crush, Codex and other supported agents. It suits developers and shell-script authors who need to send mail from scripts or pipelines.

### Installation

```bash
# via Homebrew
brew install pop
```

```bash
# via Go
go install github.com/charmbracelet/pop@latest
```

```bash
# via Nix
nix-env -iA nixpkgs.pop
```

![pop mail text-based client](https://media.trmn.sh/cached/0af4a11f921a60faf47f78be7fdec73050a058a729f87cb29da000e63877044b.gif)

![pop mail command line client](https://media.trmn.sh/cached/8aac02314097b62867610864d0f1349e2843e2f7db2c05c6238279e58c367998.gif)

![Generate email with Crush and send email with Pop.](https://media.trmn.sh/cached/1302c9c396040e4fa246831c4574a5c933e499ccce86d22b8f51ec879187b425.gif)

## Alternatives

- [circumflex](https://www.trmn.sh/tools/circumflex.md): Terminal-based Hacker News browser with vim-style navigation and built-in article reader (Go, 2.1k stars)
- [tz](https://www.trmn.sh/tools/tz.md): Interactive TUI tool for displaying and comparing times across multiple time zones simultaneously (Go, 902 stars)
- [omm](https://www.trmn.sh/tools/omm.md): Keyboard-driven task manager for the command line with priority reordering and context management (Go, 333 stars)
- [Ticker](https://www.trmn.sh/tools/ticker.md): Terminal stock, crypto, and derivatives price watcher with position tracking, cost basis lots, currency conversion, and grouped watchlists. (Go, 6.3k stars)
- [gopass](https://www.trmn.sh/tools/gopass.md): Command-line password manager compatible with pass, supporting GPG encryption, Git versioning, and team collaboration (Go, 7.3k stars)

---

Canonical: https://www.trmn.sh/tools/pop
