Command reference
Run commands as the installation owner. Use sudo for root installations, or ~/.local/bin/az-vote-delegate if a regular user's install directory is not on PATH.
| Command | Purpose |
|---|---|
az-vote-delegate | Open the menu; start setup on first use |
az-vote-delegate setup | Open the setup wizard |
az-vote-delegate service-install | Install and start the systemd service |
az-vote-delegate run | Run the worker using the saved voting mode |
az-vote-delegate run --dry-run | Force previews without submitting votes |
az-vote-delegate run --dry-run=false | Explicitly enable live submissions |
az-vote-delegate status | Show current project and phase decisions |
az-vote-delegate check | Check the key, pillar, and chain ID without signing or publishing |
az-vote-delegate version | Print the installed version |
The menu is the interface for selecting delegates, casting manual votes, and upgrading. Do not launch run alongside an existing service.
Select a configuration
Relevant commands accept an explicit path:
az-vote-delegate status --config /absolute/path/config.json
If the service is running, status reads its cached snapshot without opening a second key. run also accepts --debug for additional logging.
The default path is ~/.config/az-vote-delegate/config.json, though an existing ./config.json takes precedence. Paths within the configuration resolve relative to the configuration file.
Configuration fields
See the complete example configuration.
| Setting | Behavior |
|---|---|
live | Defaults to false (Dry run) |
pollIntervalSeconds | Defaults to 30 |
copyDelayMinutes | Defaults to 0; whole minutes from 0 to 10080. Applies to copied project and phase votes, not manual votes. |
powTimeoutSeconds | Defaults to 300 |
| Chain ID | Must be explicitly configured |
passwordEnv / passwordFile | Configure exactly one per key |
statePath | Persistent voting state, including manual overrides and live copy-delay observations |
Password files must be regular files with mode 0600. Passwords are not accepted as CLI flags or stored directly in the JSON configuration. Setup uses a password file so the background service can unlock the producer key after reboot.
Advanced configurations can include multiple delegations, one per producer. If you use an environment variable for a password, supply it to the service environment; see the example systemd unit.
Installer options
| Environment variable | Purpose |
|---|---|
AZ_NO_UI=1 | Install without opening the terminal menu |
AZ_VERSION=v… | Install a specific release tag |
AZ_INSTALL_DIR=/absolute/path | Set the binary installation directory |
When upgrading, keep the original user and installation directory. See Updates & upgrades.
Change the delay through the menu to apply it immediately. If you edit JSON directly, restart the existing service to load the new configuration. For example, add "copyDelayMinutes": 15 at the top level of config.json for a 15-minute delay. See delay behavior and limitations.