Configuration

View as Markdown

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:

$# Set base URL and authenticate in one command
$nemo auth login --base-url https://nmp.example.com

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:

$nemo --context prod auth login --base-url https://nmp.prod.example.com

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):

$nemo config view

Display all contexts:

$nemo config view --all-contexts

Switch Contexts

Inspect the currently active context and resolved references:

$nemo config view

Or print only the current context name:

$nemo config current-context

Switch to a different context:

$nemo config use-context prod

Use a context for a single command without switching:

$nemo --context prod workspaces list

Modify Configuration

Set specific values:

$nemo config set --base-url https://nmp.example.com
$nemo config set --workspace my-workspace
$nemo config set --access-token -

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.

VariableDescription
NMP_CONFIG_FILEPath to configuration file
NMP_CURRENT_CONTEXTOverride current context
NMP_BASE_URLAPI base URL
NMP_ACCESS_TOKENAccess token for authentication
NMP_WORKSPACEDefault workspace
NMP_OUTPUT_FORMATOutput format (table, json, yaml, csv, markdown)
NMP_TIMESTAMP_FORMATTimestamp format (relative, iso8601)
NMP_COLOR_OUTPUTEnable/disable colored output (true/false)
NEMO_TELEMETRY_ENABLEDEnable CLI telemetry only when set to true; any other explicit value disables it

Example:

$# Use a different context for this command
$NMP_CURRENT_CONTEXT=prod nemo workspaces list
$
$# Override base URL
$NMP_BASE_URL=https://nmp.example.com nemo models list

Configuration Precedence

Settings are resolved in this order (highest priority first):

  1. Command-line flags - --base-url, --context, etc.
  2. Environment variables - NMP_BASE_URL, NMP_CURRENT_CONTEXT, etc.
  3. Configuration file - ~/.config/nmp/config.yaml
  4. 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:

$NEMO_TELEMETRY_ENABLED=false nemo models list
$export NEMO_TELEMETRY_ENABLED=false

To disable telemetry persistently, add this top-level field to your CLI config file:

1telemetry_enabled: false

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:

$nemo --install-completion

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:

$nemo <Tab>
$nemo models <Tab>

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.