Install
openclaw skills install neomutt-commanderRead, search, organise, and draft emails using neomutt — a terminal IMAP client. List inbox, search, read HTML email via w3m, mark read/unread, manage folders, archive messages, and compose drafts. If sending is not enabled or approved, always save as draft instead.
openclaw skills install neomutt-commanderUse when the user wants to read, search, or organise their email inbox, read message content, manage folders, archive messages, or draft a reply or new message — all from the terminal via IMAP. Works with Gmail, Fastmail, Outlook, and any IMAP provider.
If sending is not explicitly enabled or approved by the user, always save outgoing messages as a draft instead of sending.
Install neomutt and w3m (HTML email renderer):
# macOS
brew install neomutt w3m
# Ubuntu / Debian
sudo apt install neomutt w3m
Create ~/.config/neomutt/neomuttrc (or ~/.neomuttrc):
set imap_user = "user@gmail.com"
set imap_pass = "*****"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set ssl_force_tls = yes
set imap_keepalive = 300
set mail_check = 60
set postponed = "+[Gmail]/Drafts"
set sort = reverse-date
# HTML handling
auto_view text/html
alternative_order text/plain text/html
For other providers change imap.gmail.com:993 and [Gmail]/Drafts to match your server. For Gmail, imap_pass should be an App Password (Google Account → Security → 2-Step Verification → App Passwords).
Create ~/.config/neomutt/mailcap so w3m renders HTML parts:
text/html; w3m -I %{charset} -T text/html; copiousoutput;
neomutt
Opens the inbox. To open a specific folder directly:
neomutt -f imaps://imap.gmail.com/INBOX
neomutt -f imaps://imap.gmail.com/[Gmail]/All%20Mail # Gmail — All Mail
neomutt -f imaps://imap.fastmail.com/INBOX # Fastmail example
| Key | Action |
|---|---|
j / k | Move down / up |
Enter | Open message |
q | Back / quit |
? | Full keybinding help |
| Key | Pattern | Example |
|---|---|---|
/ | Search visible list by subject/sender | /invoice |
l | Limit view to a pattern | l ~f boss@example.com |
l . | Clear limit (show all) |
Search pattern syntax: ~f <from> · ~s <subject> · ~b <body> · ~d <date>
Press Enter on a message. HTML parts render automatically via w3m.
| Key | Action |
|---|---|
Space / - | Page down / up |
h | Toggle headers |
v | View MIME attachments |
q | Return to index |
| Key | Action |
|---|---|
| Automatic | Message is marked read when opened |
N | Toggle unread on selected message |
t | Tag message; then ;N to mark tagged set |
Move the message out of INBOX into your archive folder:
s → type folder name → Enter
On Gmail the archive folder is [Gmail]/All Mail. Add a macro for one-key archiving:
macro index A "<save-message>=[Gmail]/All Mail<enter><enter>" "Archive"
Folders in IMAP, labels in Gmail — same thing. Move or copy a message:
C → type folder name → Enter # Copy (message stays in current folder too)
s → type folder name → Enter # Move (removes from current folder)
m
Fill in To:, Subject:, write body, then:
| Key | Action |
|---|---|
Ctrl-X (in editor) | Finish editing and go to send screen |
y | Send (only if sending is approved) |
P | Postpone — saves to the drafts folder |
q | Abort / discard |
Default behaviour: press
Pto postpone (save draft) unless the user has explicitly asked to send.
neomutt -f imaps://imap.gmail.com/[Gmail]/Drafts # Gmail
neomutt -f imaps://imap.fastmail.com/Drafts # Fastmail / generic
Open the draft and press e to edit, then y to send or P to re-postpone.
q → confirm with y