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.