● alpha MIT Rust TUI

Modal-vim
email.

IMAP, SMTP, Gmail, Outlook, JMAP. One client, every inbox.

Maildir on disk. SQLite index. tantivy search. hjkl-powered composer.

inbx — me@fastmail.com
INBOX 12 Sent Drafts 2 Archive Spam [Gmail]/All
  • a GitHub PRkryptic-sh/inbx #42 — wire IMAP IDLE socket 2m
  • s Linus T. Re: Maildir layout — looks fine, ship it 14m
  • d Fastmail JMAPYou have 3 new messages 1h
  • f · cron daemon [backup] nightly snapshot complete (124 GB) 3h
  • g · Stripe workReceipt for invoice #INV-2026-0418 yest
  • h · rust-announce Rust 1.95.0 released — let-chains stabilized 2d
HINT press a letter to open · esc to cancel ● fastmail (idle)

why

An email client shaped like vim, not Outlook.

01 — INPUT

Modal everything

Normal/insert/visual modes in the message list, the reader, and the composer. Real motions, real text objects, real ex commands.

02 — SELECT

Hint mode

Press f, every visible message gets a label. Type the label, you're in the thread. No j-spamming.

03 — PROVIDERS

Multi-provider, one client

IMAP/SMTP, Gmail XOAUTH2, Microsoft Graph, JMAP. One config, every account. Provider abstracted behind a trait.

04 — STORAGE

Maildir + SQLite

On-disk Maildir per account. SQLite index for threading and metadata. tantivy for full-text. Offline-first.

05 — COMPOSE

hjkl-powered composer

Composer embeds hjkl — the same modal editor. Headers and body share one FSM. MIME built with mail-builder.

06 — SECURITY

TLS or nothing

Implicit TLS or STARTTLS only. Never falls through to plaintext. Remote content blocked by default. HTML sanitized via ammonia.

providers

Whatever you use, inbx talks to it.

IMAP + SMTP
Fastmail, Proton Bridge, dovecot, iCloud, Yahoo, Yandex. IMAP IDLE for push.
Gmail / Workspace
IMAP + SMTP via XOAUTH2. Auth-code flow with refresh tokens in the OS keyring.
Outlook / M365
OAuth2 today, Microsoft Graph (/me/messages, /me/sendMail) tomorrow. Tenant-aware.
JMAP
Fastmail, Stalwart. Fewer round-trips, push native. Preferred when the server speaks it.

keys

The map you already know.

Next / prev messagej / k
Open threadEnter
Hint modef
Composec
Reply / reply-allr / R
ForwardF
Archivee
Deleted
Mark unreadU
Star / flags
Inbox / Sentgi / gs
Search/
Switch account:acct
Send draft:send
Sync now:sync
Quit:q

status

Alpha. TUI usable. Composer blocked on hjkl 0.1.0.

Status: alpha. M1–M5, M7–M9, M11–M19, M22–M23 landed. Read-only TUI panes, IMAP IDLE push, SMTP send, OAuth2 (Gmail + Microsoft), MS Graph backend, FTS5 search, JWZ threading, HTML render + sanitize, calendar invites, DKIM/SPF/DMARC + phishing badge, ManageSieve, List-Unsubscribe, mbox/.eml import-export, PGP/S-MIME detection, CardDAV.

Outstanding: composer (M6, blocked on hjkl 0.1.0 trait surface), GUI MVP (M20), JMAP (M21), templates (M24). Star github.com/kryptic-sh/inbx for releases. Sibling to sqeel, buffr, hjkl.