Skip to content

Environment Variables

NM_HOME

Override the data directory.

Typestring
Default~/.no-mistakes

When set, everything else moves under this root:

  • Global config: $NM_HOME/config.yaml
  • Gate repos: $NM_HOME/repos/<id>.git
  • Worktrees: $NM_HOME/worktrees/<repoID>/<runID>/
  • Logs: $NM_HOME/logs/
  • Database: $NM_HOME/state.sqlite
  • Socket / PID: $NM_HOME/socket and $NM_HOME/daemon.pid
  • Managed agent server PID records: $NM_HOME/servers/
  • Managed service names get a short stable suffix derived from $NM_HOME so multiple installs don’t collide.

NO_MISTAKES_BITBUCKET_EMAIL

Bitbucket Cloud account email used for PR creation and CI monitoring.

Typestring
Default(none; Bitbucket PR/CI steps skip when unset)

Used alongside NO_MISTAKES_BITBUCKET_API_TOKEN. See Provider Integration.

NO_MISTAKES_BITBUCKET_API_TOKEN

Bitbucket Cloud API token.

Typestring
Default(none)

Get one from Bitbucket account settings.

NO_MISTAKES_BITBUCKET_API_BASE_URL

Override the Bitbucket Cloud API base URL.

Typestring
Defaulthttps://api.bitbucket.org/2.0

Useful for mocking in tests or pointing at a proxy.

NO_MISTAKES_NO_UPDATE_CHECK

Disable background update checks.

Type1 to disable, anything else to leave enabled
Defaultunset (checks enabled)

Update checks run on every CLI invocation except update itself, hit GitHub releases, cache the result in $NM_HOME/update-check.json, and print a one-line notification to stderr when a newer version is available. Dev builds (non-semver versions) suppress the check automatically.

NO_MISTAKES_UMAMI_WEBSITE_ID

Override or enable the telemetry website ID.

Typestring
Defaultunset

When set, telemetry uses this website ID at runtime. If it is unset in a dev build, no-mistakes also checks a repo-local .env file for NO_MISTAKES_UMAMI_WEBSITE_ID. If no runtime value is found, it falls back to any website ID embedded at build time.

When telemetry is enabled, no-mistakes sends command, run, step, approval, fix, and wizard events plus pageviews for /wizard and /tui, along with app version, platform, and build-channel metadata, to Umami Cloud at https://cloud.umami.is/api/send.

Environment the daemon sees

When the daemon runs through a managed service (launchd, systemd user service, Task Scheduler), it reloads environment from your login shell on macOS and Linux before each run so PATH and NO_MISTAKES_* vars match what you’d see in an interactive shell. On Windows it reuses the current process environment.

If your env vars aren’t set in your login shell’s rc files (.zprofile, .zshrc, .profile, .bash_profile, .bashrc, PowerShell profile), the daemon won’t see them. Put them somewhere a login shell will load.