> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/fabric/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/fabric/_mcp/server.

# NVIDIA NeMo Fabric Installation

> Install guide.

## 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.

### 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.

| Installation                            | Runtime | Adapter | Harness | NeMo Relay Python Package |
| --------------------------------------- | ------- | ------- | ------- | ------------------------- |
| `nemo-fabric`                           | Yes     | No      | No      | No                        |
| `nemo-fabric[relay]`                    | Yes     | No      | No      | Yes                       |
| `nemo-fabric[hermes-agent,relay]`       | Yes     | Yes     | Yes     | Yes                       |
| `nemo-fabric-adapters-claude[harness]`  | No      | Yes     | Yes     | No                        |
| `nemo-fabric-adapters-claude[full]`     | No      | Yes     | Yes     | No                        |
| `nemo-fabric-adapters-deepagents[full]` | No      | Yes     | Yes     | Yes                       |
| `nemo-fabric-adapters-hermes[relay]`    | No      | Yes     | No      | Yes                       |
| `nemo-fabric-adapters-claude`           | No      | Yes     | No      | No                        |

An adapter package's `full` extra is scoped to the adapter environment. It
installs the supported harness and any Python Relay dependency, but it does not
install the NeMo Fabric runtime. For Claude and Codex, `full` is equivalent to
`harness` because their Relay integration requires an external executable. For
LangChain Deep Agents and Hermes Agent, `full` installs both the harness and the
NeMo Relay Python package.

For Claude and Codex, no Python package extra installs the external
`nemo-relay` CLI required by Relay telemetry and `Runtime.invoke_stream()`.

### Install the NeMo Fabric Runtime

Install the NeMo Fabric runtime:

```bash
pip install nemo-fabric
```

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

### Install a Complete Runtime and Harness

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

```bash
pip install "nemo-fabric[claude]"
pip install "nemo-fabric[codex]"
pip install "nemo-fabric[deepagents]"
pip install "nemo-fabric[hermes-agent]"
```

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 and the NeMo Relay Python
package:

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

The `relay` extra does not install the external `nemo-relay` CLI that Claude and
Codex require for Relay-enabled runs.

### Install an Adapter and Harness Without the Runtime

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

```bash
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-hermes[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.

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

```bash
pip install nemo-fabric-adapters-claude
pip install nemo-fabric-adapters-codex
pip install nemo-fabric-adapters-deepagents
pip install nemo-fabric-adapters-hermes
```

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:

```bash
pip install nemo-fabric nemo-fabric-adapters-codex
```

### Install NeMo Relay

[NeMo Relay](https://docs.nvidia.com/nemo/relay) integration occurs in two
ways:

* [Python package](https://pypi.org/project/nemo-relay/)
* [NeMo Relay CLI](https://crates.io/crates/nemo-relay-cli)

The required integration depends on the agent harness. Relay-enabled runs with
the Claude and Codex adapters require the
[`nemo-relay` CLI](https://crates.io/crates/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:

```bash
pip install "nemo-fabric[relay]"
```

LangChain Deep Agents and Hermes Agent import the NeMo Relay Python package
directly. Their adapter packages provide `relay` and `full` extras:

```bash
pip install "nemo-fabric-adapters-deepagents[relay]"
pip install "nemo-fabric-adapters-hermes[relay]"
pip install "nemo-fabric-adapters-deepagents[full]"
pip install "nemo-fabric-adapters-hermes[full]"
```

Use `relay` when the environment already manages the harness. Use `full` to
install the harness and Relay package together. Claude and Codex do not provide
a `relay` extra because their adapters launch the external CLI instead of
importing this Python package.

#### NeMo Relay CLI

**Shell installation method (Linux and macOS):**

```bash
curl -fsSL https://raw.githubusercontent.com/NVIDIA/NeMo-Relay/main/install.sh | sh
```

**Windows PowerShell installation method:**

```powershell
irm https://raw.githubusercontent.com/NVIDIA/NeMo-Relay/main/install.ps1 | iex
```

**Cargo installation method (requires `cargo-binstall`):**

```bash
cargo binstall nemo-relay-cli
```

After installation, ensure `nemo-relay` is on `PATH`. When Relay is enabled
with `FabricConfig.enable_relay(...)`, the Claude and Codex adapters start and
supervise the CLI gateway automatically.

## Source Installation Method

**Prerequisites:**

* Rust and Cargo
* Python 3.11 through 3.14
* [uv](https://docs.astral.sh/uv/getting-started/installation/)
* `just` 1.50.0+

1. Create a Python virtual environment and activate it (replace `3.13` with your preferred Python version):

```bash
uv venv -p 3.13 --seed .venv
source .venv/bin/activate
```

2. Build the Rust core and Python libraries.

```bash
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:

```bash
uv sync --all-groups --all-extras
```

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

```bash
just no_uv=true build-all
```