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

# NemoClaw Architecture Overview

> Learn how NemoClaw combines a host CLI, agent integration layer, versioned blueprint, and OpenShell gateway to operate supported agents.

This page explains how NemoClaw runs supported agent runtimes inside OpenShell sandboxes.
It covers the host CLI, OpenShell gateway, agent integration layer, lifecycle state, managed Model Context Protocol (MCP) servers and other integrations, and protection layers.

NemoClaw does not replace OpenShell or the selected agent runtime.
It packages them as a repeatable setup with a versioned blueprint, agent-specific configuration, managed inference, network policy, and lifecycle operations.

## High-Level Flow

NemoClaw keeps operator control on the host while OpenShell enforces the sandbox boundary.
The OpenShell gateway coordinates sandbox lifecycle, credentials, network policy, inference routes, and approved integration traffic.

```mermaid
flowchart LR
    USERS["Users and operators"]:::users
    CLI["NemoClaw host CLI<br /><small>install, probe, onboard, operate</small>"]:::control
    GATEWAY["OpenShell gateway<br /><small>lifecycle, credentials, policy, routing</small>"]:::gateway
    SANDBOX["OpenShell sandbox<br /><small>agent runtime and integration layer</small>"]:::sandbox
    INTERFACE["Agent interface<br /><small>runtime-specific interaction path</small>"]:::users
    STATE["Managed state and artifacts<br /><small>registry, workspace, policy records, snapshots</small>"]:::state
    INFERENCE["Inference providers<br /><small>supported hosted or local inference</small>"]:::inference
    INTEGRATIONS["Approved integrations<br /><small>MCP servers and package services</small>"]:::integrations

    USERS -->|"operate"| CLI
    CLI -->|"configure resources"| GATEWAY
    GATEWAY -->|"create and control"| SANDBOX
    SANDBOX -->|"managed requests"| GATEWAY
    GATEWAY -->|"routed inference"| INFERENCE
    GATEWAY -->|"approved egress"| INTEGRATIONS
    USERS -->|"interact"| INTERFACE
    INTERFACE --> SANDBOX
    CLI -->|"record lifecycle"| STATE
    SANDBOX -.->|"persist declared state"| STATE

    classDef users fill:#d9ecf7,stroke:#6aa6c8,color:#1a1a1a,stroke-width:2px
    classDef control fill:#d7f0dc,stroke:#5a9f70,color:#1a1a1a,stroke-width:2px
    classDef gateway fill:#fff1be,stroke:#c4992f,color:#1a1a1a,stroke-width:2px
    classDef sandbox fill:#e7ddff,stroke:#8c6ccf,color:#1a1a1a,stroke-width:2px
    classDef state fill:#f7dfe4,stroke:#c86d7d,color:#1a1a1a,stroke-width:2px
    classDef inference fill:#d5f1f1,stroke:#4fa7a7,color:#1a1a1a,stroke-width:2px
    classDef integrations fill:#fce6d7,stroke:#c77e55,color:#1a1a1a,stroke-width:2px
```

The diagram has the following components:

| Component                   | Role in the flow                                                                                                                                |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Users and operators         | Install and operate NemoClaw from the host, then interact through the selected agent interface.                                                 |
| NemoClaw host CLI           | Collects configuration, runs readiness checks and onboarding, resolves the blueprint, and operates managed resources.                           |
| OpenShell gateway           | Coordinates sandbox lifecycle, credentials, networking, policy enforcement, inference routing, and approved integration egress.                 |
| OpenShell sandbox           | Runs the selected agent runtime with its NemoClaw integration layer, configuration, and supporting tools.                                       |
| Agent interface             | Provides the interaction path exposed by the selected agent runtime.                                                                            |
| Inference providers         | Receive managed inference requests through the OpenShell gateway.                                                                               |
| Approved integrations       | Receive policy-approved requests to MCP servers, package indexes, and other configured services.                                                |
| Managed state and artifacts | Preserve registry records, workspace files, policy records, logs, and manifest-declared snapshot content across supported lifecycle operations. |

For repository layout, file paths, and deeper diagrams, refer to [Architecture](../reference/architecture).

## Design Principles

NemoClaw follows these architecture principles.

Versioned blueprint
: The blueprint runner resolves a versioned blueprint and verifies its digest before it changes managed resources.

Host credential custody
: OpenShell stores inference provider credentials and managed MCP bearer values outside the sandbox and replaces placeholders at approved request boundaries.

Agent-specific integration
: Each supported agent runtime receives the configuration, wrappers, plugin, or adapter required for its documented workflow.

Resumable lifecycle
: NemoClaw records lifecycle progress and reconciles managed resources after supported interruptions or partial operations.

Manifest-declared state
: Rebuild, snapshot, and restore operations preserve only the state declared for the selected agent runtime.
Each agent manifest and operation defines which credential-bearing files to exclude.

Host-configured messaging credentials also use OpenShell credential delivery.
Some messaging integrations, such as QR-paired WhatsApp, retain explicitly declared session credentials inside the sandbox so supported lifecycle operations can preserve them.

## CLI, Integration Layer, and Blueprint

NemoClaw separates host orchestration, agent-specific behavior, and sandbox definition.

* The *host CLI* runs readiness checks and onboarding, validates provider choices, records lifecycle state, and operates OpenShell resources.
* The *Hermes integration layer* writes runtime configuration under `/sandbox/.hermes`, including `config.yaml`, environment files, and supported messaging-channel settings.
* The *blueprint* is a versioned YAML package with the sandbox image, agent manifest, network policy, inference profile, and supporting assets.
  The runner resolves and verifies the blueprint before applying it through OpenShell.

This separation keeps host orchestration, agent-specific assets, and the sandbox definition at explicit lifecycle boundaries.

## Readiness and Sandbox Creation

Run `nemohermes host probe` when you need a read-only system readiness report before onboarding.
The report combines host and gateway observations, capabilities, qualifications, findings, evidence, and CLI provenance without changing system state.
Onboarding consumes the same stable host and gateway entities and applies its explicit admission policy.
It revalidates live facts after permitted preparation and when a saved onboarding session resumes.

When you run `nemohermes onboard`, the host CLI and blueprint runner complete these operations:

1. NemoClaw resolves gateway lifecycle authority and rejects blocking system readiness results before managed resource effects.
   A container-backed WSL GPU proof can run only after this admission check; explicit CPU-only intent skips it.
2. NemoClaw resolves the blueprint, checks version compatibility, and verifies the digest.
3. Onboarding validates the selected inference provider, credentials, agent settings, and platform requirements.
4. The runner determines which gateway, provider, policy, sandbox, and integration resources to create or update.
5. NemoClaw records progress so a supported interruption can resume or report a specific recovery action.

After the sandbox starts, the selected agent uses its managed configuration and the controls supported by the host.

## Lifecycle and State

NemoClaw operates the sandbox and its manifest-declared state through host-side commands.

| Operation             | Result                                                                                                                                         |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Inspect               | `host probe`, `status`, and `logs` report system, sandbox, agent-runtime, inference, and recovery information without replacing the sandbox.   |
| Configure             | Inference, policy, managed MCP, and supported agent-runtime integration commands update the applicable managed resources.                      |
| Rebuild               | Recreates the sandbox from the recorded configuration and restores supported agent state through a recorded transaction.                       |
| Recover               | Repairs a stopped or degraded agent runtime and its sandbox-scoped forwards when the recorded identities still match.                          |
| Snapshot and restore  | Captures manifest-declared state with the agent- and operation-specific credential exclusions, then applies that state to an eligible sandbox. |
| Destroy and uninstall | Removes the selected sandbox or host installation according to the command scope and preservation choices.                                     |

Refer to [Recover and Rebuild Sandboxes](../manage-sandboxes/operate-sandboxes/recover-and-rebuild-sandboxes) and [Create and Restore Snapshots](../manage-sandboxes/state-and-backups/create-and-restore-snapshots) for lifecycle details.

## Inference Routing

Managed agent runtimes send model requests to `inference.local` instead of an upstream endpoint.
During onboarding, NemoClaw validates the selected provider and model, configures the OpenShell inference route, and writes the matching model reference into the managed agent configuration.
OpenShell keeps the provider credential outside the sandbox and sends approved requests to the upstream endpoint.
When you select the Model Router provider, `inference.local` routes to a host-side router that chooses from the configured NVIDIA model pool for each request.
For Hermes, `nemohermes inference set` updates `/sandbox/.hermes/config.yaml` at runtime without rebuilding the sandbox.

## Managed Integrations

NemoClaw connects supported external services through OpenShell providers, network policy, and agent-specific adapters.

Managed MCP supports authenticated HTTPS Streamable HTTP MCP servers for OpenClaw, Hermes, and Deep Agents Code.
NemoClaw stores the credential name and ownership metadata, while OpenShell stores the raw value outside the sandbox.
The agent adapter receives a credential placeholder that OpenShell replaces only at the approved egress boundary.

Messaging channels use agent-specific channel manifests, credential delivery, network policy, and lifecycle commands.
Some experimental webhook channels also require a route-restricted host-side public endpoint.
Refer to [Choose Messaging Channels](../manage-sandboxes/messaging-channels/choose-messaging-channels) for agent and channel status.

Refer to [About Managed MCP Servers](../manage-sandboxes/mcp-servers/about-managed-mcp-servers) for the managed MCP security and lifecycle design.

## Protection Layers

The sandbox starts with a baseline policy that controls network egress, filesystem access, process privileges, and inference routing.

| Layer      | What it protects                                                         | When it applies             |
| ---------- | ------------------------------------------------------------------------ | --------------------------- |
| Network    | Blocks unauthorized outbound connections.                                | Hot-reloadable at runtime.  |
| Filesystem | Restricts system paths to read-only; `/sandbox` and `/tmp` are writable. | Locked at sandbox creation. |
| Process    | Blocks privilege escalation and dangerous syscalls.                      | Locked at sandbox creation. |
| Inference  | Reroutes model API calls to controlled backends.                         | Hot-reloadable at runtime.  |

When the agent tries to reach an unapproved host, OpenShell blocks the request and surfaces it in the terminal user interface (TUI) for operator approval.
Approved endpoints persist within the current sandbox instance but are not saved to the baseline policy file.
NemoClaw's runtime context tells supported agents to try allowed network and filesystem actions first, then report whether policy denial, DNS, timeout, TLS, or filesystem access caused a failure.

Host and platform limitations can change how individual controls apply.
Refer to [Platform Support](../reference/platform-support) and [Security Best Practices](../security/best-practices) before you treat a control as an environment-wide guarantee.

## Next Steps

* Read [Ecosystem](ecosystem) for stack-level relationships and NemoClaw versus OpenShell-only paths.
* Follow [Quickstart with Hermes](../get-started/quickstart) to launch your first sandbox.
* Read [Architecture](../reference/architecture) for the full technical structure, including file layouts and the blueprint lifecycle.
* Read [Choose an Inference Provider](../inference/learn-and-choose/choose-inference-provider) for detailed provider configuration.
* Read [Network Policies](../reference/network-policies) for baseline rules and runtime changes.