Skip to the documentation
CLI

Install

npm, pnpm, Bun or Yarn, or no install at all with npx.

Install

The current release is 0.0.1. It needs Node.js 20.12 or later.

npm install -g @openemail/cli

The package is one bundled file with no dependencies, and it puts one command on your PATH: openemail. The SDK it calls the API with is built in, so the CLI always runs with the SDK it was tested against. openemail version prints the version of both, and of the runtime.

Check it
openemail --versionopenemail --help

Run it without installing

npx fetches the package into a cache and runs it, which suits a one-off command, a CI job, or an MCP client that starts the local bridge.

Terminal
npx @openemail/cli --helpnpx -y @openemail/[email protected] whoaminpx -y @openemail/cli mcp serve

Pin the version in CI, as in npx -y @openemail/[email protected], so a new release never changes a pipeline under you.

Updates

The CLI never updates itself. It remembers for a day what the npm registry said about the latest release. When that is older, it asks again in the background while your command runs, and once the command is done it waits a fifth of a second at most for the answer. When a newer release exists, it prints a notice on stderr after your command has finished:

Update notice
Update available! 0.0.1 → 0.0.2Changelog: https://openemail.uk/docs/cli/changelogRun `npm i -g @openemail/cli@latest` to update. Disable this notice with OPENEMAIL_NO_UPDATE_CHECK=1
  • The install command in the notice matches the package manager you installed with.
  • There is no notice with --help, --version or --json, for help, version, update or completion, when stdout or stderr is not a terminal, or in CI.
  • Set OPENEMAIL_NO_UPDATE_CHECK=1 to turn it off everywhere. OPENEMAIL_DISABLE_UPDATE_NOTICE=1 does the same.
  • The only request goes to the npm registry, and its answer is kept in ~/.openemail/update-check.json for a day.

openemail update checks straight away, ignoring the daily cache, and prints either the command to run or that you are on the latest version.

npm i -g @openemail/cli@latest

Shell completion

openemail completion <shell> prints a completion script for bash, zsh or fish, built from every command, subcommand and flag of the version you have. Run it again after an update.

echo 'eval "$(openemail completion bash)"' >> ~/.bashrc

Uninstall

Sign out first, so every browser sign-in is revoked on the server, then remove the package and the folder the CLI keeps its sign-ins in.

Terminal
openemail logout --allnpm uninstall -g @openemail/clirm -rf ~/.openemail

Your inbox,
on your own terms.

Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.

OpenEmail

Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.

© 2026 OpenEmail. All rights reserved.