Configuration
The NeMo CLI uses a configuration file to store connection settings, credentials, and preferences. This allows you to work with multiple environments and switch between them easily.
Quick Setup
The quickest way to connect to an existing deployment is:
During interactive onboarding, nemo setup also offers to connect to a remote deployment when the currently configured platform is unreachable. It verifies and saves the new URL in the active context, then runs the same authentication flow.
To configure a named context:
Configuration File
The configuration is stored in ~/.config/nmp/config.yaml. If the XDG_CONFIG_HOME environment variable is set, the file is stored in $XDG_CONFIG_HOME/nmp/config.yaml instead. You can also specify a custom location with the NMP_CONFIG_FILE environment variable.
Managing Configuration
View Configuration
Display configuration for the current context (secrets are redacted):
Display all contexts:
Switch Contexts
Inspect the currently active context and resolved references:
Or print only the current context name:
Switch to a different context:
Use a context for a single command without switching:
Modify Configuration
Set specific values:
When setting an access token, you’ll be prompted to enter it securely (input is hidden).
Environment Variables
Environment variables override configuration file settings. This is useful for CI/CD pipelines or temporary overrides.
Example:
Configuration Precedence
Settings are resolved in this order (highest priority first):
- Command-line flags -
--base-url,--context, etc. - Environment variables -
NMP_BASE_URL,NMP_CURRENT_CONTEXT, etc. - Configuration file -
~/.config/nmp/config.yaml - Defaults - Built-in default values
This means you can set defaults in your config file and override them as needed with environment variables or flags.
CLI Telemetry
The NeMo CLI sends anonymous usage telemetry by default to help improve setup, command reliability, and product workflows. The first CLI invocation with telemetry enabled prints a notice to stderr and creates a telemetry-notice-shown marker next to the CLI config file. Stdout is not changed, so scripts that parse command output remain stable.
Telemetry events include the command or workflow category, task status, duration, client version, a random session ID that rotates every 30 days, deployment type, and whether the command appears to be running in CI. Telemetry does not include prompts, model inputs or outputs, datasets, secrets, access tokens, configuration file contents, file contents, local paths, usernames, email addresses, or hostnames.
To disable telemetry for a single command or shell session:
To disable telemetry persistently, add this top-level field to your CLI config file:
If NEMO_TELEMETRY_ENABLED is set, only true keeps the environment layer enabled. Any other explicit value disables telemetry for that process. A persisted telemetry_enabled: false value disables telemetry even when the environment variable is set to true.
Shell Completion
The NeMo CLI supports tab completion for Bash, Zsh, and Fish shells. Enable it with:
This detects your current shell and installs the appropriate completion script. Restart your shell for the changes to take effect.
After installation, test that completion is working:
If completion isn’t working, make sure you’ve restarted your shell and that your shell supports programmable completion. For Bash, ensure bash-completion is installed on your system.