A command-line client for ManageSieve and Sieve scripts.

msieve is a policy-neutral CLI for direct RFC 5804 ManageSieve operations against a compatible mail server.

Install msieve

Choose one method. Install the global tool with the .NET 10 SDK, which includes the runtime needed to run it. Scoop and Homebrew install self-contained builds.

.NET tool · PowerShell or Bash

dotnet tool install --global Transiever.ManageSieve.Cli

Windows · PowerShell with Scoop

Add the Transiever bucket once.

scoop bucket add transiever https://github.com/SeWieland/Transiever.ScoopBucket
scoop install transiever/msieve

Linux x64 · Bash with Homebrew

brew install SeWieland/transiever/msieve

Inspect your server first

Replace the example host with your provider's ManageSieve endpoint. This command uses required STARTTLS on port 4190 by default, reports capabilities, and does not authenticate or change scripts.

PowerShell or Bash

msieve capabilities --sieve-host sieve.example.com

To list scripts, also replace the username. In an interactive terminal, a missing password is prompted without echoing it. Listing does not change server scripts.

msieve list --sieve-host sieve.example.com --sieve-username user@example.com

Use msieve check --file candidate.sieve with your connection options to ask the server to validate a local candidate without uploading or activating it.

Change scripts deliberately

put uploads a script; adding --activate also makes it active. deactivate disables active Sieve processing. These are separate operations, not a sequence to paste after inspection.

msieve does not generate Sieve, reconcile scripts, or create backups. Use srtx when you need those workflows.

See the canonical msieve CLI guide for script operations, authentication, and connection options.