Drew Newberry be4e22b66c fix(gateway): use static guest IP and redirect child stderr to console log
Root cause of readyz timeout: gvproxy DHCP assigns guest IPs
nondeterministically (.2 or .3 depending on timing), but port
forwarding was hardcoded to .3. When the guest got .2, the health
check polled the wrong IP for 120s.

Fix: vm-init.sh now assigns 192.168.127.2 statically instead of using
DHCP. The CLI guest_ip constant matches. This eliminates the race.

Also fixes libkrun VMM warnings (virtio-fs passthrough symlink errors)
appearing on the parent terminal — fork_start() now redirects the
child's stderr to the console log file via dup2(). The warnings are
from macOS symlink resolution limits on Kubernetes ConfigMap mounts
and are non-fatal.

vm-init.sh is now always updated in the cached rootfs on every boot
(not just during initial extraction), so networking fixes take effect
without requiring rootfs re-extraction.
2026-03-03 10:55:43 -08:00
2026-03-02 20:48:06 -08:00
2026-02-26 20:25:39 -08:00

Navigator 🗺️

Navigator is the runtime environment for autonomous agents—the "Matrix" where they live, work, and verify.

While coding tools like Claude help agents write logic, Navigator provides the infrastructure to run it, offering a programmable factory where agents can spin up physics simulations to master tasks, generate synthetic data to fix edge cases, and safely iterate through thousands of failures in isolated sandboxes.

It transforms the data center from a static deployment target into a continuous verification engine, allowing agents to autonomously build and operate complex systems—from physical robotics to self-healing infrastructure—without needing a human to manage the infrastructure.

Quickstart

Prerequisites

  • Docker — Docker Desktop (or a Docker daemon) must be running.
  • Python 3.12+
  • uv 0.9+

Install

uv pip install nemoclaw \
  --upgrade \
  --pre \
  --index-url https://urm.nvidia.com/artifactory/api/pypi/nv-shared-pypi/simple

The navigator binary is installed into your Python environment. Use uv run navigator to invoke it, or activate your venv first with source .venv/bin/activate.

Create a sandbox

To install a Openclaw cluster and start a sandbox

navigator sandbox create -- claude  # or opencode or codex

To run a sandbox on a remote machine, pass --remote [remote-ssh-host].

For more information see navigator sandbox create --help.

The sandbox container includes the following tools by default:

Category Tools
Agent claude, opencode, codex
Language python (3.12), node (22)
Developer gh, git, vim, nano
Networking ping, dig, nslookup, nc, traceroute, netstat

For additional sandbox images see the NVIDIA/NemoClaw-Community images. You can also build your own custom images.

Deploy a cluster

Note: navigator sandbox create automatically deploys a cluster if one isn't already running.

To deploy a cluster explicitly:

navigator cluster admin deploy

For remote deployment:

navigator cluster admin deploy --remote user@host

Upgrading

To upgrade, redeploy your cluster to pick up the latest server and sandbox images:

navigator cluster admin deploy

This will prompt you to recreate the cluster. Select "yes" to recreate the cluster.

Developing

See CONTRIBUTING.md for building from source and contributing to Navigator.

Architecture

See architecture/ for detailed architecture docs and design decisions.

S
Description
GitHub Trending: NVIDIA/OpenShell
Readme Apache-2.0
254 MiB
Languages
Rust 86.7%
Go 5%
Shell 3.5%
Python 2.6%
TypeScript 0.9%
Other 1%