Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The mailcoded manual

This is the handbook for people who read their own mail with mailcoded, from a terminal. It covers installing it, adding an account, the full-screen client, every command-line verb, sending, and what to do when something goes wrong.

It is deliberately not the design documentation. If you want to know why the daemon speaks JSON-RPC or how the sync planner works, start at docs/ARCHITECTURE.md. If you are giving an AI agent access to your mail, docs/agents.md is the document for you; chapter 11 here only points at it.

Everything in this manual was checked against mailcoded 0.1.0, protocol 1, on 2026-09-06, by running the commands. Where the manual and mailcoded help <verb> disagree, the program is right and the manual has a bug — please report it.

The short version

scripts/install.sh      # build, and put the four commands on PATH
mailcoded setup         # add an account; nothing is saved until a real login succeeds
mailcoded tui           # read it. Press ? for the keys.

Contents

  1. Installing — build from source, where the binaries go, checking it works
  2. Your first accountsetup, provider quirks, app passwords, Microsoft sign-in, scripted setup
  3. Where your mail lives — the data directory, what is in it, secrets, backups, editors
  4. The terminal clientmailcoded tui: the screen, keys, mouse, reading, triage, compose
  5. Reading and searching from the command linesearch, read, thread, attachments, folders
  6. Triage — Tags and Flags, tag, move, archive, and why there is no delete
  7. Sending — drafts, the two-phase send, the outbox, and who the send gate applies to
  8. Accountsaccount list, test, reauth, add, forget
  9. Sync and the daemonsync, live updates, one daemon per store, running the daemon yourself
  10. Importing mail and raw SQLimport-eml, query --sql, reading the audit trail
  11. Agents — the two-minute version, and where the real document is
  12. The safety model, in plain terms — what mailcoded will never do, and why you may see �
  13. Troubleshooting — the messages you might see, what they mean, what to do
  14. Reference — environment variables, exit codes, every key, every verb, every file

Conventions

  • mailcoded is the command-line tool. mailcoded-tui, mailcoded-daemon and mailcoded-mcp are the other three binaries the installer puts beside it; you rarely run them directly.
  • <id> is a local message id — the number in the first column of search output. It is stable within one store and means nothing outside it.
  • The vocabulary is deliberate and the manual sticks to it: an account has folders (never “mailboxes”); a message carries server Flags (unread, flagged, replied, draft) and local Tags (never “labels”).
  • --json output is a contract, versioned by schema_version. The human-readable output is not, and may change between releases.