macOS
brew install gmailctllocal Homebrew formula metadata
sudo port install gmailctlMacPorts ports tree · mail/gmailctl/Portfile · source: api.github.com
brew
Declarative configuration for Gmail filters. Version 0.12.0 via Homebrew; verified 2026-05-19.
install
brew install gmailctllocal Homebrew formula metadata
sudo port install gmailctlMacPorts ports tree · mail/gmailctl/Portfile · source: api.github.com
sudo dnf install gmailctlFedora Rawhide package metadata · gmailctl · source: dl.fedoraproject.org
nix profile install nixpkgs#gmailctlnixpkgs package indexes · pkgs/by-name/gm/gmailctl/package.nix · source: api.github.com
overview
Declarative configuration for Gmail filters
history
gmailctl is a Go command-line tool for maintaining Gmail filters as declarative Jsonnet configuration. It treats mail filtering rules as code: users edit a local configuration, review a diff, and apply the result through the Gmail API instead of importing XML filters by hand.
The public repository was created in 2018 by Marco Bertoni. The README frames the project around a practical frustration with long, hard-to-audit Gmail filter lists and contrasts gmailctl with tools that generate XML for manual import.
The project developed around a small CLI surface: init, edit, diff, apply, download, export, and debug. Versioned GitHub releases show a 0.x series continuing from 2021 through 2026, with prebuilt binaries and Go installation documented upstream.
gmailctl's adoption story is that of a focused personal-infrastructure tool rather than a large ecosystem platform. It reached package managers such as Homebrew, Fedora, MacPorts, Nix, and Snap, making a Gmail-account automation workflow installable through normal workstation provisioning.
The repository's star count and package availability indicate a recognizable niche among users who want email rules to live in version control and code review, especially people already comfortable with command-line tools and declarative configuration.
Practitioners run gmailctl init to set up Gmail API access, then use gmailctl edit or a local Jsonnet file to maintain filters. The tool can show diffs against Gmail settings, apply the local configuration, export XML, and download existing filters as a migration starting point.
Its main operational value is repeatability: filter rules can be reviewed, backed up, refactored, and reapplied, while credentials and tokens stay in the gmailctl configuration directory.
For package users, gmailctl is a small example of SaaS configuration drifting into dotfile territory. It packages the hidden state of a Gmail account as a CLI-managed artifact, so a mail workflow can be installed and upgraded alongside other command-line tools.
security posture
No matching local secret-handling manifest was found for gmailctl. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
$XDG_CONFIG_HOME/gmailctl/config.jsonnet~/.config/gmailctl/config.jsonnet~/.gmailctl/config.jsonnetCredential-bearing paths to review before unattended agent runs.
$XDG_CONFIG_HOME/gmailctl/credentials.json$XDG_CONFIG_HOME/gmailctl/token.json~/.config/gmailctl/credentials.json~/.config/gmailctl/token.json~/.gmailctl/credentials.json~/.gmailctl/token.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
gmailctl | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/mbrt/gmailctl
install metadata
| Package key | brew:gmailctl |
|---|---|
| Version | 0.12.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/gmailctl |
| Homepage | https://github.com/mbrt/gmailctl |
| Repository | https://github.com/mbrt/gmailctl |
| Upstream docs | https://github.com/mbrt/gmailctl#readme |
| License | MIT |
| Source archive | https://github.com/mbrt/gmailctl/archive/refs/tags/v0.12.0.tar.gz |
| Last updated | 2026-05-19T12:54:23Z |
| Pulse | updated |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | gmailctl |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
gmailctl
nix profile install nixpkgs#gmailctlgmailctl 0.12.0-1.fc45
Declarative configuration for Gmail filters
https://github.com/mbrt/gmailctl
sudo dnf install gmailctlgmailctl
sudo port install gmailctlsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.