NemoClaw integration

Connect to the OpenShell Gateway WebSocket and turn sandbox events into spans and alerts.

Running OpenClaw inside NVIDIA NemoClaw? TokenJam connects to the OpenShell Gateway WebSocket and turns sandbox events (blocked network requests, filesystem denials, inference reroutes) into alerts.

This is the observability layer that NemoClaw doesn’t ship with.

Install

from tokenjam.sdk.integrations.nemoclaw import watch_nemoclaw

observer = watch_nemoclaw()
asyncio.create_task(observer.connect())

By default watch_nemoclaw() reads gateway endpoint and credentials from the NemoClaw environment: NEMOCLAW_GATEWAY_URL, NEMOCLAW_GATEWAY_TOKEN. Override explicitly:

observer = watch_nemoclaw(
    gateway_url="wss://nemoclaw.local:8443/gateway",
    token=os.environ["NEMOCLAW_TOKEN"],
)

What gets captured

Every gateway event becomes a TokenJam span with the relevant attributes:

EventSpan nameAlert type
Network egress blockednemoclaw.network.blockednetwork_egress_blocked
Filesystem access deniednemoclaw.fs.deniedfilesystem_access_denied
Syscall deniednemoclaw.syscall.deniedsyscall_denied
Inference reroutednemoclaw.inference.reroutedinference_rerouted
Sandbox startednemoclaw.sandbox.startnone
Sandbox terminatednemoclaw.sandbox.endnone

Alerts fire instantly through your configured channels (ntfy, Discord, Telegram, webhook, etc.). See Alerts.

Use cases

  • Egress detection. Catch an agent trying to exfiltrate data to an unsanctioned domain.
  • Inference reroute auditing. When NemoClaw silently swaps the agent’s model (e.g., from Claude to a locally hosted Llama), you see the swap and its cost impact.
  • Sandbox boundary debugging. When an agent crashes because it tried to write outside its allowed paths, the denial events make the cause obvious.

Without NemoClaw

If you’re not running NemoClaw, ignore this integration. None of the rest of TokenJam depends on it.