Configuration
Interactive setup
Section titled “Interactive setup”-
Start the login wizard:
Terminal window redmine auth login -
Provide your Redmine server URL and authentication method (API key or username/password).
-
Optionally set a default project — it is prepopulated in project-scoped commands.
-
The wizard writes a profile to
~/.redmine-cli.yaml. You are ready to go.
Multiple profiles
Section titled “Multiple profiles”You can authenticate against as many Redmine instances as you like. Each redmine auth login creates a named profile.
redmine auth login # second instanceredmine auth login --name work # with an explicit nameredmine auth list # see all profilesredmine auth switch # interactive pickerredmine --profile work issues listredmine auth statusConfig file
Section titled “Config file”Directory~/
- .redmine-cli.yaml active profile + all profile data
Directory.local/bin/
- redmine binary (install script target)
active_profile: workprofiles: work: server: https://redmine.work.com auth_method: apikey api_key: your-api-key default_project: myproject output_format: table personal: server: https://redmine.personal.com auth_method: apikey api_key: another-key output_format: jsonSystem keyring (optional)
Section titled “System keyring (optional)”You can keep the API key (or password) out of the config file and in your operating system keyring instead. It is fully opt-in and backward compatible: existing plaintext profiles keep working unchanged.
-
Opt in during login. The wizard asks whether to use the keyring when a usable backend is detected on a TTY. For scripted logins use the flag:
Terminal window redmine auth login --keyring -
The profile records
credential_store: keyringand the secret is written to the keyring, not the file. On the next run the secret is read back from the keyring automatically.
Logging in again for a profile that already uses the keyring keeps the keyring by default; it never silently falls back to the plaintext file. Pass --keyring=false to explicitly switch a profile back to plaintext storage.
Resolution order is CLI flag, then environment variable, then keyring, then the plaintext file field. Environment variables and flags are resolved before the keyring is ever consulted.
Environment variables
Section titled “Environment variables”Every setting can be overridden with a REDMINE_-prefixed variable:
export REDMINE_SERVER=https://redmine.example.comexport REDMINE_API_KEY=your-api-keyexport REDMINE_AUTH_METHOD=apikey
# opt out of the startup update checkexport REDMINE_NO_UPDATE_CHECK=1
# refuse all requests that modify data (read-only mode)export REDMINE_READ_ONLY=1
# hard-disable the optional system keyringexport REDMINE_NO_KEYRING=1See Self-Update for details on the update check.
Global flags
Section titled “Global flags”Flags take precedence over config values and environment variables.
| Flag | Description |
|---|---|
-s, --server |
Redmine server URL |
-k, --api-key |
API key for authentication |
--profile |
Use a specific auth profile |
--config |
Config file path (default ~/.redmine-cli.yaml) |
--no-color |
Disable colored output |
--read-only |
Refuse all requests that modify data on the server |
-v, --verbose |
Enable debug logging |
Read-only mode
Section titled “Read-only mode”Point the CLI at a production Redmine without any risk of changing data. When enabled, every request that would modify the server is refused before it is sent; all listing, viewing, and searching commands keep working.
Enable it in any of three ways (precedence: flag > environment variable > config):
redmine --read-only issues list # single invocationexport REDMINE_READ_ONLY=1 # whole shell sessionprofiles: prod: server: https://redmine.example.com auth_method: apikey api_key: your-api-key read_only: truePass --read-only=false to override the environment variable or a read_only: true profile for a single invocation.
Inspect current config
Section titled “Inspect current config”redmine configPrints the active profile, server, auth method, default project, output format, and read-only state.