Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 29 additions & 7 deletions docs/about/release-notes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,38 @@ NVIDIA NemoClaw is available in early preview starting March 16, 2026.
Use this page to track the highlights of the latest release.
For more detailed release notes, refer to the [NemoClaw GitHub announcements](https://github.com/NVIDIA/NemoClaw/discussions/categories/announcements?discussions_q=is%3Aopen+category%3AAnnouncements).

## Unreleased
## v0.0.78

The next NemoClaw release adds an optional thread-scoped auto-approval capability for managed LangChain Deep Agents Code sandboxes.
NemoClaw v0.0.78 adds opt-in thread-scoped auto-approval for managed LangChain Deep Agents Code, authoritative agent-visible inference health, round-trippable policy export, and stronger recovery for local inference, custom images, managed MCP, remote dashboards, and credential capture.

- Deep Agents interactive sessions keep auto-approval disabled by default.
Operators can enable the `thread-opt-in` capability through a named transactional rebuild, after which each thread must still activate it through the TUI approval choice or `dcode -y`.
Active state resets for a new process or thread, `/clear`, thread switching, and agent switching.
The root-owned capability fails closed on invalid state, ambient environment values cannot enable it, and OpenShell policy, credential, inference, MCP, filesystem, and process controls remain in force.
Headless `dcode -n` remains a separate automation boundary.
- Managed LangChain Deep Agents Code sandboxes keep auto-approval disabled by default and can enable the `thread-opt-in` capability through a named transactional rebuild.
Each thread must still opt in through the TUI or `dcode -y`, and approval state resets across process, thread, and agent transitions without bypassing OpenShell controls.
Managed Nemotron 3 Ultra aliases now load through a version-pinned first-party profile plugin, preserve required nonempty tool-call content, and reject the observed literal `[content]` execute placeholder before shell dispatch.
For more information, refer to [Quickstart with LangChain Deep Agents Code](/user-guide/deepagents/get-started/quickstart), [Security Best Practices](../security/best-practices), [Model Capability Audit](../inference/model-capability-audit), and [NemoClaw CLI Commands Reference](../reference/commands).
- `status`, `doctor`, and `connect` now treat the agent-visible `https://inference.local/v1/models` route as authoritative and return nonzero or fail closed when trusted evidence is unavailable.
Deep Agents probes reject login-shell preambles and multiline contamination while preserving configured observability through a side-effect-free managed execution path.
For more information, refer to [NemoClaw CLI Commands Reference](../reference/commands), [Monitor Sandbox Activity](../monitoring/monitor-sandbox-activity), and [Troubleshooting](../reference/troubleshooting).
- Compatible-endpoint onboarding now probes `max_model_len` and carries it into Hermes `context_length` unless `NEMOCLAW_CONTEXT_WINDOW` is set.
Inference switches also synchronize explicit OpenClaw main-agent model state, and NVIDIA Endpoints no longer advertises Kimi K2.6 while its production Chat Completions route is unavailable.
For more information, refer to [Switch Inference Providers](../inference/switch-inference-providers), [NemoClaw Inference Options](../inference/inference-options), and [Model Capability Audit](../inference/model-capability-audit).
- Local inference setup waits for newly pulled Ollama models to appear, warms an unloaded model before OpenClaw agent passthrough after daemon restarts, and allows a 15-minute quiet Docker pull window for large managed vLLM images.
For more information, refer to [Use a Local Inference Server](../inference/use-local-inference) and [Troubleshooting](../reference/troubleshooting).
- New `$$nemoclaw <name> policy-get` output provides validated base-policy YAML suitable for review, editing, and reapplication, while `--raw` preserves the metadata-bearing response for diagnostics.
The plugin registration banner now uses stderr, and `agents apply` tolerates warning-prefixed and wrapped JSON so command stdout remains usable by automation.
For more information, refer to [Customize the Network Policy](../network-policy/customize-network-policy), [Common Integration Policy Examples](../network-policy/integration-policy-examples), and [NemoClaw CLI Commands Reference](../reference/commands).
- Rebuild now prints redacted managed MCP destroy diagnostics before backup or deletion, recovers prepared-only transactions through `mcp remove --force`, and lets an explicit `rebuild --force` continue without a backup when a crashed sandbox cannot be reached.
The no-backup path warns that prior sandbox state is not preserved, and gateway recovery reports its bounded retry budget.
For more information, refer to [Set Up MCP Servers](../manage-sandboxes/set-up-mcp-servers), [NemoClaw CLI Commands Reference](../reference/commands), and [Manage Sandbox Lifecycle](../manage-sandboxes/lifecycle).
- Custom OpenClaw image handling now detects base-only images that lack the managed runtime and reconciles image-owned plugin provenance across recreate and rebuild while preserving user-owned plugin, channel, tool, and workspace state.
Workspace template seeding also survives the startup function serialization path.
A new reference defines lifecycle contributions, managed agent packages, agent-native plugins, and the gates required before any future public NemoClaw plugin SDK.
For more information, refer to [Install OpenClaw Plugins](/user-guide/openclaw/manage-sandboxes/install-openclaw-plugins), [Manage Sandbox Lifecycle](../manage-sandboxes/lifecycle), and [Extension Taxonomy and SDK Readiness](../reference/extension-taxonomy-sdk-readiness).
- Remote dashboard and shutdown flows now provide copyable SSH port-forward hints, recognize a live untracked loopback forward before rolling back onboarding, align the Hermes WebUI with the resolved host dashboard port, and make the deprecated full stop attempt agent-owned host-forward cleanup before safely releasing an unshared, ownership-verified OpenShell gateway port.
Supervisor-owned Hermes runtime processes remain under sandbox control, and OpenClaw Slack and compact-QR WhatsApp runtime hooks compose safely when both are enabled.
For more information, refer to [Deploy to a Remote GPU Host](/user-guide/openclaw/deployment/deploy-to-remote-gpu), [NemoClaw Quickstart with Hermes](/user-guide/hermes/get-started/quickstart), [Messaging Channels](/user-guide/openclaw/manage-sandboxes/messaging-channels), and [NemoClaw CLI Commands Reference](../reference/commands).
- Starter prompts now bind the local credential form to an authenticated one-shot helper with immutable commit and SHA-256 pins, explicit isolated or account-home execution profiles, denial of ambient process-control variables, and a preview, edit, and confirm flow.
This keeps credential collection behind verified helper and approved-command boundaries.
For more information, refer to [NemoClaw Quickstart with OpenClaw](/user-guide/openclaw/get-started/quickstart) and [Use NemoClaw Agent Prompts, Docs MCP Server, and Skills with Your AI Coding Agent](../resources/agent-skills).

## v0.0.77

Expand Down
2 changes: 2 additions & 0 deletions docs/get-started/quickstart-langchain-deepagents-code.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,8 @@ If an existing sandbox displays `Choose a Recommended Model`, rebuild it so its
If `status` reports `Runtime health: degraded` with an OOM kill count, rebuild the sandbox to restore the terminal runtime.
Proxy launchers and startup scripts are baked into the sandbox image.
After upgrading NemoClaw from a release with older Deep Agents Code routing, rebuild each existing sandbox before troubleshooting `inference.local` connectivity.
NemoClaw v0.0.78 and newer clients fail closed when a pre-v0.0.78 sandbox image lacks the trusted `/usr/local/lib/nemoclaw/dcode-managed-exec` route-probe helper, even when the installed Deep Agents Code version still matches the managed manifest.
Rebuild the sandbox to install that image-owned helper before retrying `status`, `doctor`, `connect`, or onboarding recovery.
There is no dashboard port or long-running gateway process for this harness.

## Next Steps
Expand Down
4 changes: 2 additions & 2 deletions docs/inference/model-capability-audit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ When importing a completed row from an issue comment, preserve the exact commit
| OpenClaw primary agent | Other OpenAI-compatible endpoint | User-selected `custom-model` or another configured model id. | Managed `inference.local` route to the compatible endpoint. | `not-yet-run` | Add endpoint class and trajectory evidence before changing state. | Record endpoint API path forcing and store/streaming assumptions. | Add one row per endpoint class that is validated. | `src/lib/inference/config.ts`. |
| OpenClaw primary agent | Other Anthropic-compatible endpoint | User-selected `custom-anthropic-model` or another configured model id. | `anthropic` route when supported, otherwise managed compatible route. | `not-yet-run` | Add endpoint class and trajectory evidence before changing state. | Record native Anthropic Messages or compatible-route transport behavior. | Add one row per endpoint class that is validated. | `src/lib/inference/config.ts`. |
| Hermes sandbox API | Hermes Provider | Default `moonshotai/kimi-k2.6` or any model from `HERMES_PROVIDER_MODEL_OPTIONS`. | Hermes Provider route through NemoClaw managed inference. | `not-yet-run` | Add Hermes session, request dump, logs, and local API evidence before changing state. | Generated config uses native `tools.tool_search.enabled: on` with snake-case 5/20 limits; core tools stay direct while deferred MCP and non-core plugin tools use structured search, describe, and call. | Verify a deferred-tool trajectory and keep it separate from OpenClaw `mode: tools` evidence. | `agents/hermes/config/hermes-config.ts`, `test/generate-hermes-config.test.ts`. |
| Deep Agents interactive `dcode` | NVIDIA Endpoints | `nvidia/nemotron-3-super-120b-a12b` | Managed `inference.local` OpenAI-compatible Chat Completions with `use_responses_api = false`. | `not-yet-run` | Add separate default-disabled and thread-opt-in terminal transcripts, host status output, reset evidence, and route evidence before changing state. | Managed `/sandbox/.deepagents/config.toml` forces the OpenAI-compatible route and disables Responses API for `dcode`; optional `thread-opt-in` remains a per-thread approval affordance. | Verify a terminal task with approval prompts intact, then separately verify explicit thread activation, reset behavior, policy enforcement, and no provider credential in sandbox-visible files. | `agents/langchain-deepagents-code/generate-config.ts`, `docs/get-started/quickstart-langchain-deepagents-code`. |
| Deep Agents headless `dcode -n` | NVIDIA Endpoints | `nvidia/nemotron-3-super-120b-a12b` | Managed `inference.local` OpenAI-compatible Chat Completions with `use_responses_api = false`. | `not-yet-run` | Add headless command transcript and status output before changing state. | Headless mode has no approval UI and auto-approves non-shell tools while managed shell execution remains disabled. | Verify a bounded non-shell task and record the approval boundary separately from interactive evidence. | `agents/langchain-deepagents-code/dcode-wrapper.sh`, `docs/security/best-practices`. |
| Deep Agents interactive `dcode` | NVIDIA Endpoints | `nvidia/nemotron-3-ultra-550b-a55b` | Managed `inference.local` OpenAI-compatible Chat Completions with `use_responses_api = false`. | `not-yet-run` | Add separate default-disabled and thread-opt-in terminal transcripts, host status output, reset evidence, and route evidence before changing state. | The managed Ultra profile preserves required nonempty tool-call content and rejects the observed literal `[content]` execute placeholder before shell dispatch; optional `thread-opt-in` remains a per-thread approval affordance. | Verify a terminal task with approval prompts intact, then separately verify explicit thread activation, reset behavior, policy enforcement, placeholder rejection, and no provider credential in sandbox-visible files. | `agents/langchain-deepagents-code/generate-config.ts`, `agents/langchain-deepagents-code/profile-plugin`, `docs/get-started/quickstart-langchain-deepagents-code`. |
| Deep Agents headless `dcode -n` | NVIDIA Endpoints | `nvidia/nemotron-3-ultra-550b-a55b` | Managed `inference.local` OpenAI-compatible Chat Completions with `use_responses_api = false`. | `not-yet-run` | Add headless command transcript and status output before changing state. | Headless mode uses the managed Ultra profile, preserves required nonempty tool-call content, rejects the observed literal `[content]` execute placeholder, has no approval UI, and auto-approves non-shell tools while managed shell execution remains disabled. | Verify a bounded non-shell task, placeholder rejection, and the approval boundary separately from interactive evidence. | `agents/langchain-deepagents-code/dcode-wrapper.sh`, `agents/langchain-deepagents-code/profile-plugin`, `docs/security/best-practices`. |

## Completed Row Template

Expand Down
50 changes: 32 additions & 18 deletions docs/inference/switch-inference-providers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -295,16 +295,16 @@ Use `--no-verify` only when OpenShell cannot verify the provider at switch time
`--no-verify` does not bypass the one-route-per-gateway compatibility check.
</AgentOnly>

<AgentOnly variant="openclaw,hermes">
<AgentOnly variant="openclaw">

## Tune Model Metadata

The sandbox image bakes model metadata (context window, max output tokens, reasoning mode, and accepted input modalities) into `openclaw.json` at build time.
The sandbox image bakes model metadata into `openclaw.json` at build time.
To change these values, set the corresponding environment variables before running `$$nemoclaw onboard` so they patch into the Dockerfile before the image builds.

| Variable | Values | Default |
|---|---|---|
| `NEMOCLAW_CONTEXT_WINDOW` | Positive integer (tokens) | `131072` (OpenClaw baked metadata); Hermes leaves it unset to auto-detect |
| `NEMOCLAW_CONTEXT_WINDOW` | Positive integer (tokens) | `131072` |
| `NEMOCLAW_MAX_TOKENS` | Positive integer (tokens) | `4096` |
| `NEMOCLAW_REASONING` | `true` or `false` | `false` |
| `NEMOCLAW_INFERENCE_INPUTS` | `text` or `text,image` | `text` |
Expand All @@ -314,9 +314,8 @@ To change these values, set the corresponding environment variables before runni
NemoClaw ignores invalid values and bakes the default into the image.
For Local Ollama, onboarding loads the selected model first and uses Ollama's reported runtime context length when `NEMOCLAW_CONTEXT_WINDOW` is unset.
For local vLLM, onboarding uses the runtime `max_model_len` value when the server reports one and `NEMOCLAW_CONTEXT_WINDOW` is unset.
For an OpenAI-compatible endpoint (the **Other OpenAI-compatible endpoint** provider, including a self-hosted vLLM server), onboarding probes the endpoint's `/v1/models` response and uses its reported `max_model_len` when `NEMOCLAW_CONTEXT_WINDOW` is unset, so the agent gets the endpoint's real context window instead of a small architecture default.
For an OpenAI-compatible endpoint (the **Other OpenAI-compatible endpoint** provider, including a self-hosted vLLM server), onboarding probes the endpoint's `/v1/models` response and uses its reported `max_model_len` when `NEMOCLAW_CONTEXT_WINDOW` is unset, so OpenClaw gets the endpoint's real context window instead of a small architecture default.
Set `NEMOCLAW_CONTEXT_WINDOW` to override the probed value.
For Hermes, the resolved window is written as `model.context_length` in the generated `config.yaml`, and leaving it unset lets Hermes auto-detect.
Use `NEMOCLAW_INFERENCE_INPUTS=text,image` only for a model that accepts image input through the selected provider.
During interactive onboarding, NemoClaw prompts for **Text only** or **Text + Image** when the discovered model name looks multimodal and `NEMOCLAW_INFERENCE_INPUTS` is not already valid.
Non-interactive onboarding uses the environment value or the default `text` setting.
Expand All @@ -331,6 +330,30 @@ export NEMOCLAW_AGENT_HEARTBEAT_EVERY=0m
$$nemoclaw onboard
```

</AgentOnly>
<AgentOnly variant="hermes">

## Tune Model Metadata

Hermes accepts `NEMOCLAW_CONTEXT_WINDOW` as its model-metadata override.
Set it before running `$$nemoclaw onboard` so NemoClaw patches the value into the Dockerfile before the image builds.

| Variable | Values | Default |
|---|---|---|
| `NEMOCLAW_CONTEXT_WINDOW` | Positive integer (tokens) | Unset so Hermes auto-detects |

For Local Ollama, onboarding loads the selected model first and uses Ollama's reported runtime context length when `NEMOCLAW_CONTEXT_WINDOW` is unset.
For local vLLM, onboarding uses the runtime `max_model_len` value when the server reports one and `NEMOCLAW_CONTEXT_WINDOW` is unset.
For an OpenAI-compatible endpoint (the **Other OpenAI-compatible endpoint** provider, including a self-hosted vLLM server), onboarding probes the endpoint's `/v1/models` response and uses its reported `max_model_len` when `NEMOCLAW_CONTEXT_WINDOW` is unset, so Hermes gets the endpoint's real context window instead of a small architecture default.
Set `NEMOCLAW_CONTEXT_WINDOW` to override the probed value.
When onboarding resolves a valid window from an explicit override or endpoint probe, NemoClaw writes it as `model.context_length` in the generated `config.yaml`.
If neither path yields a valid value, `model.context_length` remains unset and Hermes auto-detects from the endpoint.

```bash
export NEMOCLAW_CONTEXT_WINDOW=65536
$$nemoclaw onboard
```

</AgentOnly>

<AgentOnly variant="openclaw">
Expand All @@ -342,15 +365,6 @@ The default sandbox can keep that file writable for agent state, but direct in-s
Rebuild the sandbox with `$$nemoclaw onboard` to apply a new value.

</AgentOnly>
<AgentOnly variant="hermes">

`NEMOCLAW_AGENT_TIMEOUT` controls the per-request inference timeout baked into the Hermes sandbox image.
Increase it for slow local inference, such as CPU-only Ollama or vLLM on modest hardware.
Direct in-sandbox edits are not the supported or durable way to change NemoClaw-managed defaults.
Rebuild the sandbox with `$$nemoclaw onboard` to apply a new value.

</AgentOnly>

<AgentOnly variant="openclaw">

`NEMOCLAW_AGENT_HEARTBEAT_EVERY` sets `agents.defaults.heartbeat.every`.
Expand All @@ -367,14 +381,14 @@ Recreate the sandbox with `$$nemoclaw onboard --fresh --name <sandbox-name> --re
<AgentOnly variant="hermes">

Hermes does not use OpenClaw's `HEARTBEAT.md` wake-up mechanism.
Recreate the sandbox with `$$nemoclaw onboard --fresh --name <sandbox-name> --recreate-sandbox` to apply build-time inference metadata changes.
Hermes also does not consume the OpenClaw-only `NEMOCLAW_AGENT_TIMEOUT` or `NEMOCLAW_AGENT_HEARTBEAT_EVERY` model-metadata variables.

</AgentOnly>

<AgentOnly variant="openclaw,hermes">

These variables are build-time settings.
If you change them on an existing sandbox, recreate the sandbox so the new values bake into the image:
Supported model-metadata variables are build-time settings.
If you change a supported value on an existing sandbox, recreate the sandbox so the new value bakes into the image:

```bash
$$nemoclaw onboard --fresh --name <sandbox-name> --recreate-sandbox
Expand Down Expand Up @@ -440,7 +454,7 @@ The status output includes the active provider, model, and endpoint with the res
- The host keeps provider credentials.
- The sandbox continues to use `inference.local`.
- `$$nemoclaw inference set` patches the selected running Hermes sandbox config and recomputes its config hash.
- Use `$$nemoclaw onboard --fresh --name <sandbox-name> --recreate-sandbox` for build-time settings such as context window, max tokens, reasoning mode, heartbeat cadence, or image contents.
- Use `$$nemoclaw onboard --fresh --name <sandbox-name> --recreate-sandbox` for build-time settings such as context window or image contents.
- Local Ollama and local vLLM routes use local provider tokens rather than `OPENAI_API_KEY`. Rebuilds of older local-inference sandboxes clear the stale OpenAI credential requirement automatically.

</AgentOnly>
Expand Down
Loading
Loading