Skip to content
Mbox Viewer Pro
announcementproductmboxshell

mboxShell 1.3: Install It with Homebrew, Scoop or Cargo, and a Leaner Index

mboxShell 1.3.0 now installs with a single command on macOS, Linux and Windows, through Homebrew, Scoop or crates.io. Its index also drops its last unmaintained dependency: 36% smaller, and it loads just as fast.

David Carrero ·

mboxShell, our open-source terminal tool for MBOX files, released 1.3.0 today. It brings two changes you won’t see while using it but will notice: installing it no longer means downloading a binary by hand, and the index it builds for each mailbox loses the last unmaintained dependency it had. It also fixes two things.

Install it with the package manager you already use

Until now, except on NixOS and Arch, you downloaded the binary from GitHub, made it executable and moved it into a folder on your PATH. 1.3.0 adds three ways.

Homebrew, on macOS and Linux:

brew install dcarrero/tap/mboxshell

It installs the release binary together with shell completions and the man page, so man mboxshell works right away. Later versions arrive with brew upgrade.

Scoop, on Windows:

scoop bucket add dcarrero https://github.com/dcarrero/scoop-bucket
scoop install dcarrero/mboxshell

Cargo, from crates.io, if you have Rust installed:

cargo install mboxshell     # builds from source
cargo binstall mboxshell    # downloads the prebuilt binary

cargo binstall is the fast one: it fetches the same binary we publish on GitHub instead of spending a few minutes compiling.

All three follow each new release on their own. The existing ones stay: mboxShell is still in nixpkgs (nix-shell -p mboxshell) and in the Arch User Repository (yay -S mboxshell). Every option is covered in the installation section of the README.

A smaller index, without bincode

The first time you open a mailbox, mboxShell reads all of it and saves an index next to it (or in the cache folder, if it can’t write there). Thanks to that index, the mailbox opens without being read from start to finish again the next time, even if it weighs several gigabytes.

The index used to be written with bincode, a Rust library that is no longer maintained, as advisory RUSTSEC-2025-0141 records. It had no known bug, but a dependency nobody maintains is one nobody will fix the day it does. 1.3.0 writes the entries with postcard and the header by hand, with the same layout as before.

Along the way the index got smaller: for 100,000 messages it goes from 39.4 MB to 25.3 MB, 36% less, and it loads just as fast. cargo audit, which checks the dependencies against Rust’s security advisory database, now reports nothing at all.

This is version 6 of the index format, and there is nothing for you to do. The first time 1.3.0 opens a mailbox that already had an index, mboxShell sees it is in the old format and builds it again. That one opening takes as long as the very first did; after that it’s fast again.

Two fixes

An unreadable index no longer stops the mailbox from opening. If the index contents were damaged, the mailbox wouldn’t open. mboxShell now rebuilds it, as it already did when the index no longer matches its file.

Tied senders always come out in the same order. In stats and stats --json, two senders with the same number of messages could swap places from one run to the next. Ties are now sorted by name, so two runs on the same mailbox give exactly the same output. Anyone who compares results with diff or feeds them to a script will appreciate it.

What 1.1 and 1.2 brought

Since 1.0 there have been four releases we hadn’t covered here:

  • 1.1.0: the help screen (?) lists every search operator, not 8 of 15, and F1 opens it right there, even from the search bar.
  • 1.2.0: HTML exports show the images a message carries inside it, such as logos or photos, without fetching anything from outside. They used to be removed.
  • 1.2.1: the paperclip no longer shows on messages without attachments, a bug seen mostly with mail sent from Alpine.
  • 1.2.2: exporting CSV from the interface no longer overwrites the previous export, and the log (mboxshell.log) can only be read by its owner.

Where to get it

The full notes are on the release page on GitHub. The mboxShell page has the binaries for Linux, macOS, FreeBSD and Windows, the commands and the latest releases.

And if you’d rather have a window than a terminal, the same idea lives in Mbox Viewer Pro, for Mac, Windows and, in beta, Linux.

Open your archive with Mbox Viewer

Native app for Mac, Windows and Linux. Streams MBOX and EML files of any size, fully offline.

Or download it directly from our site