Skip to navigation

NVIDIA NeMo Fabric Installation

View as Markdown

Package Installation Method

The nemo-fabric package installs the NeMo Fabric runtime. Harness adapters can run in that environment or in a separate environment with their harness dependencies.

Supported Python Versions

NeMo Fabric supports Python 3.11 through 3.14. Some integrations and adapters have additional requirements. The Hermes Agent adapter does not support Python 3.14, and the Harbor integration requires Python 3.12 or later.

Supported Platforms

NeMo Fabric supports the following platforms:

  • Linux (x86_64 and arm64)
  • macOS (arm64)
  • Windows (x86_64)

Choose an Installation

The following table shows a representative subset of package expressions and the components they install. The sections that follow describe the complete installation alternatives. A No entry means that the expression does not install that component; the component can already exist in the environment or be managed separately.

InstallationRuntimeCollectorAdapterHarnessRelay PythonRelay CLI
nemo-fabricYesNoNoNoNoNo
nemo-fabric[streaming]YesYesNoNoNoNo
nemo-fabric[relay]YesNoNoNoYesNo
nemo-fabric[hermes-agent]YesNoYesNoNoNo
nemo-fabric[hermes-agent] plus nemo-fabric-adapters-hermes[relay]YesNoYesNoYesNo
nemo-fabric-adapters-claude[harness]NoNoYesYesNoYes
nemo-fabric-adapters-claude[full]NoNoYesYesNoYes
nemo-fabric-adapters-deepagents[full]NoNoYesYesYesNo
nemo-fabric-adapters-mini-swe-agent[full]NoNoYesYesYesNo
nemo-fabric-adapters-nooa[full]NoNoYesYesYesNo
nemo-fabric-adapters-openclawNoNoYesNoNoNo
nemo-fabric-adapters-hermes[full]NoNoYesNoYesNo
nemo-fabric-adapters-hermes[relay]NoNoYesNoYesNo
nemo-fabric-adapters-claudeNoNoYesNoNoNo

An adapter package’s full extra is scoped to the adapter environment and does not install the NeMo Fabric runtime. For Claude and Codex, full is equivalent to harness; both install the supported harness and nemo-relay CLI. For LangChain Deep Agents and mini-SWE-agent, full installs the harness and NeMo Relay Python package without the CLI. For Hermes Agent, full installs the adapter and Relay Python package; Hermes Agent must be installed separately.

Install the NeMo Fabric Runtime

Install the NeMo Fabric runtime:

pip install nemo-fabric

The nemo-fabric package installs the matching NeMo Fabric runtime unconditionally.

Install the matching collector when an application uses the default embedded collector for NeMo Relay ATOF streaming:

pip install "nemo-fabric[streaming]"

Applications that set launch_collector=False and use an externally managed collector do not need this extra.

Install a Complete Runtime and Harness

Use a nemo-fabric harness extra when the runtime, adapter, and harness run in the same Python environment:

pip install "nemo-fabric[claude]"
pip install "nemo-fabric[codex]"
pip install "nemo-fabric[deepagents]"
pip install "nemo-fabric[mini-swe-agent]"
pip install "nemo-fabric[nooa]"
pip install "nemo-fabric[openclaw]"

Each nemo-fabric harness extra installs the corresponding adapter package with its harness extra. You can combine independent nemo-fabric extras. For example, the following command also installs Harbor; the Claude harness extra supplies the Relay CLI, while relay supplies the Relay Python package:

pip install "nemo-fabric[claude,harbor,relay]"

The NOOA extra supports Python 3.12 and 3.13 only. On another supported Python version, the command can succeed while its environment marker omits the NOOA adapter.

The OpenClaw extra installs its adapter and HTTP client, but not OpenClaw. Install the openclaw npm package separately before using that adapter.

The Claude and Codex harness extras install the nemo-relay CLI required for Relay-enabled runs. The root relay extra installs only the Relay Python package for SDK-native integrations.

Install Hermes Agent

Hermes Agent 0.20 and later is no longer installable from PyPI. End users must follow the Hermes Agent installation guide, then install NeMo Fabric and the bare Hermes adapter into the Python environment that runs Hermes Agent:

pip install "nemo-fabric[hermes-agent]"

These packages do not install Hermes Agent. Released Hermes Agent v2026.9.24 requires Relay 0.8.x and supports ordinary runs only with this adapter. Do not install the adapter’s Relay 0.9 relay or full extra into that environment. Relay telemetry and streaming require the merged, unreleased upstream Hermes revision on Python 3.14. For local development, create its isolated environment from the repository root:

just install-hermes-agent
export ADAPTER_PYTHON="$PWD/.venv-hermes/bin/python"

For a Relay-enabled Hermes environment, install the adapter’s relay extra alongside nemo-fabric[hermes-agent]; the generic root relay extra does not include the adapter’s TOML writer dependency.

Install Cline

The Cline adapter requires Node.js 22.19.0 or newer and is distributed through npm. Install the NeMo Fabric runtime with pip, then install the supported Cline SDK and adapter in the Node.js project that owns the NeMo Fabric configuration:

pip install nemo-fabric
npm install --save-exact @cline/sdk@0.0.83
npm install nemo-fabric-adapters-cline

The adapter does not declare or install the Cline SDK as a package dependency. Refer to the Cline adapter guide to configure adapter discovery and supported capabilities.

Install an Adapter and Harness Without the Runtime

Use an adapter package’s harness extra when a different environment runs NeMo Fabric:

pip install "nemo-fabric-adapters-claude[harness]"
pip install "nemo-fabric-adapters-codex[harness]"
pip install "nemo-fabric-adapters-deepagents[harness]"
pip install "nemo-fabric-adapters-nooa[harness]"

This installation mode keeps the runtime dependencies out of the adapter environment. Set ADAPTER_PYTHON in the runtime environment to the adapter environment’s Python interpreter. A Python adapter and its Python harness must use the same interpreter. Use matching NeMo Fabric release versions for the runtime and adapter package unless a different pairing has been explicitly validated.

The OpenClaw adapter does not provide harness or full extras. Install nemo-fabric-adapters-openclaw directly and install the openclaw npm package separately.

Add an Adapter to an Existing Harness Environment

Install an adapter package without an extra when the environment already supplies and manages a compatible harness:

pip install nemo-fabric-adapters-claude
pip install nemo-fabric-adapters-codex
pip install nemo-fabric-adapters-deepagents
pip install nemo-fabric-adapters-hermes
pip install nemo-fabric-adapters-nooa
pip install nemo-fabric-adapters-openclaw

Bare adapter distributions install only adapter-owned dependencies. They do not install the NeMo Fabric runtime or the harness.

If the existing harness and runtime share an environment, install the runtime and bare adapter together. The following example preserves the existing Codex SDK instead of installing the adapter’s supported SDK version:

pip install nemo-fabric nemo-fabric-adapters-codex

Install NeMo Relay

NeMo Relay integration occurs in two ways:

The required integration depends on the agent harness. Relay-enabled runs with the Claude, Codex, and Pi adapters require the nemo-relay CLI.

NeMo Relay Python Package

The root relay extra installs a version of the NeMo Relay Python package known to be compatible with the installed version of NeMo Fabric:

pip install "nemo-fabric[relay]"

LangChain Deep Agents, Hermes Agent, mini-SWE-agent, and NOOA import the NeMo Relay Python package directly. Their adapter packages provide relay and full extras:

pip install "nemo-fabric-adapters-deepagents[relay]"
pip install "nemo-fabric-adapters-hermes[relay]"
pip install "nemo-fabric-adapters-mini-swe-agent[relay]"
pip install "nemo-fabric-adapters-nooa[relay]"
pip install "nemo-fabric-adapters-deepagents[full]"
pip install "nemo-fabric-adapters-hermes[full]"
pip install "nemo-fabric-adapters-mini-swe-agent[full]"
pip install "nemo-fabric-adapters-nooa[full]"

Use relay when the environment already manages the harness. For Deep Agents, mini-SWE-agent, and NOOA, use full to install the harness and Relay package together. Hermes Agent’s relay and full extras install Relay 0.9 but not Hermes Agent. Claude and Codex do not provide a relay extra because their adapters launch the external CLI instead of importing this Python package.

Python-backed Relay integrations require nemo-relay>=0.9,<0.10. NeMo Fabric does not merge user or workspace plugins.toml files with its runtime-owned configuration. Remove or relocate a user plugins.toml or the nearest .nemo-relay/plugins.toml before starting a Relay-enabled Deep Agents, Hermes Agent, or mini-SWE-agent runtime. System configuration in /etc/nemo-relay/plugins.toml remains administrator controlled.

Migrate Relay Observability Configurations from 0.6

Relay 0.7 requires observability schema version 3. Move flat OpenTelemetry exporter fields into entries under opentelemetry.endpoints. In the Python SDK, replace the removed RelayOtlpConfig model with RelayOpenTelemetryConfig and one or more RelayOpenTelemetryEndpointConfig entries.

NeMo Relay CLI

Claude and Codex harness extras install their compatible CLI binary without the Relay Python package. Pi requires a separate CLI installation alongside the npm adapter. Install the >=0.9,<0.10 range:

pip install "nemo-relay-cli-bin>=0.9,<0.10"

If cargo-binstall is available, install the pinned CLI with Cargo:

cargo binstall nemo-relay-cli --version 0.9.3

After installation, run nemo-relay --version and confirm the version is in the >=0.9,<0.10 range. When Relay is enabled with FabricConfig.enable_relay(...), the Claude, Codex, and Pi adapters start and supervise the CLI gateway automatically.

The Pi adapter also requires a user-supplied path to the Relay 0.9 Pi extension. Set harness.settings.relay_extension_path to the extension file or package directory; relative paths resolve from environment.workspace. Relay-enabled Pi configurations must also set runtime.artifacts so NeMo Fabric can provide the adapter-owned Relay configuration. Refer to the Pi adapter guide for the complete configuration and the embedded collector streaming workflow. Do not set launch_collector=False for Pi streaming because the Pi extension does not attach the NeMo Fabric request IDs required by an externally managed collector.

Deployment Scenarios

Choose a deployment scenario based on where the consumer, runtime, adapter, and harness need to run.

Runtime and Harness in the Same Environment

The NeMo Fabric runtime, selected adapter, and harness share one environment. This is the simplest scenario for local development and the quickstart.

Install the runtime with the harness extra, or install the runtime and a bare adapter beside an existing harness. The package options earlier in this guide describe both approaches.

Isolated Task Environment

The host application constructs and serializes the final typed FabricConfig. It then runs NeMo Fabric, the selected adapter, and the harness inside an isolated task environment such as a Docker container or sandbox. Adapter discovery and task-path resolution occur inside that environment.

Harbor uses this model. Install its integration in the host environment:

pip install "nemo-fabric[harbor]"

Install NeMo Fabric, the selected adapter, and the harness in the task environment. For a Hermes Agent task, install Hermes Agent according to its installation guide, then add nemo-fabric, nemo-fabric-adapters-hermes, and optionally nemo-fabric[relay].

Relay-enabled Claude, Codex, or Pi tasks also require the adapter-compatible NeMo Relay CLI in the task environment. Pi additionally requires its matching Relay extension. Refer to the Harbor integration guide for details.

Runtime and Harness in Separate Environments

The NeMo Fabric runtime and agent harness can run in separate, locally accessible Python environments. This scenario isolates their Python dependencies while the runtime launches the adapter through the adapter environment’s interpreter.

Install nemo-fabric in the runtime environment. Install the adapter and harness in the second environment, then set ADAPTER_PYTHON in the runtime environment:

export ADAPTER_PYTHON="/path/to/adapter-environment/bin/python"

On Windows, use the adapter environment’s Python executable:

$env:ADAPTER_PYTHON = "C:\path\to\adapter-environment\Scripts\python.exe"

Use matching NeMo Fabric release versions for the runtime and adapter unless a different pairing has been validated.

Source Installation Method

Prerequisites:

  • Rust and Cargo
  • Python 3.11 through 3.14
  • uv
  • just 1.50.0+
  1. Create a Python virtual environment and activate it (replace 3.13 with your preferred Python version):
uv venv -p 3.13 --seed .venv
source .venv/bin/activate
just install-hermes-agent
  1. Build the Rust core and Python libraries.
just build-all

The above command will install only those dependencies that are strictly necessary for the build. Alternately If you want to install all optional dependencies, you can run:

uv sync --all-groups --all-extras

Then run the build command with the no_uv=true flag to avoid re-installing the dependencies:

just no_uv=true build-all