fm-cli

Terminal · Go · MIT

Fastmail from the terminal.

fm-cli is a small Go client for Fastmail’s JMAP API. It gives you a full-screen mail app, a set of scriptable commands that print JSON, and a live watch that follows your mailbox over Fastmail’s push connection. It’s for Fastmail users who live in a terminal, and it’s the engine behind the Fastmail plugin for Omarchy.

The fm-cli terminal app showing an inbox of sample mail

What it does

Install

On Omarchy

omarchy-mise-install github:ninepointlabs/fm-cli fm-cli

With mise elsewhere

mise use -g github:ninepointlabs/fm-cli@latest

With autonomix-cli

autonomix-cli installs it from GitHub Releases and keeps it updated.

autonomix-cli add https://github.com/ninepointlabs/fm-cli

Packages and tarballs

Every release ships .pkg.tar.zst, .deb and .rpm packages and plain tarballs for Linux and macOS.

From source

Go 1.26 or newer. No C toolchain needed.

git clone https://github.com/ninepointlabs/fm-cli.git
cd fm-cli
go build -o fm-cli ./cmd/fm-cli

Get started

Sign in. This opens Fastmail’s consent page in your browser; approve fm-cli there and you’re done. Prefer an API token? fm-cli auth login --token takes one instead.

fm-cli auth login

Open the app, or ask for your mail as JSON.

fm-cli
fm-cli box view inbox --limit 20 --json

Keys, every command and the full JSON contract are in the README.