Skip to content
Back to skills

Neomutt Commander

ASecurity

Read, 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.

  • 16 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 7, 2026
toolsgobashgitapisecurity

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill neomutt-commander --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Neomutt Commander?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Neomutt Commander
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-neomutt-commander/badge)](https://www.skillsdirectory.com/skills/modbender-neomutt-commander)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: neomutt-commander
description: Read, 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.
homepage: https://github.com/LogicalSapien/agent-skills/tree/main/clawhub/neomutt-commander
metadata: {"openclaw": {"emoji": "\ud83d\udce7", "requires": {"bins": ["neomutt", "w3m"]}, "homepage": "https://github.com/LogicalSapien/agent-skills/tree/main/clawhub/neomutt-commander"}}
---

# Neomutt Commander

Use 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.**

## Prerequisites

Install neomutt and w3m (HTML email renderer):

```bash
# macOS
brew install neomutt w3m

# Ubuntu / Debian
sudo apt install neomutt w3m
```

## Configuration

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;
```

## Open neomutt

```bash
neomutt
```

Opens the inbox. To open a specific folder directly:

```bash
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
```

## Navigate the inbox

| Key | Action |
|---|---|
| `j` / `k` | Move down / up |
| `Enter` | Open message |
| `q` | Back / quit |
| `?` | Full keybinding help |

## Search messages

| 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>`

## Read a message

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 |

## Mark as read / unread

| Key | Action |
|---|---|
| Automatic | Message is marked read when opened |
| `N` | Toggle unread on selected message |
| `t` | Tag message; then `;N` to mark tagged set |

## Archive a message

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"
```

## Manage folders / labels

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)
```

## Compose a new message

```
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 `P` to postpone (save draft) unless the user has explicitly asked to send.**

## Resume a draft

```bash
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.

## Quit

```
q  →  confirm with y
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.