> This page is for version Main (default).
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo/gym/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo/gym/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo/gym/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo/gym/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo/gym/v0.3.0/llms.txt
> - 0.2.1: https://docs.nvidia.com/nemo/gym/v0.2.1/llms.txt

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

# nemo_gym.agent_utils

Run harness processes inside task sandboxes under a shared supervisor.

The harness adapter installs its runtime, stages activation input, and parses
harness output. SandboxSession uploads the supervisor, runs and stops the harness
process, collects artifacts, and releases the sandbox. The supervisor client
implements the shell protocol over session control files. All three run on the
agent server.

Only process\_supervisor.py is copied from this package into the task sandbox. It
uses the standard library to enforce deadlines, kill and reap descendants, and
write the cleanup receipt. Core sandbox APIs and providers live in
`nemo_gym.sandbox`.

## Submodules

* **[`nemo_gym.agent_utils.process_supervisor`](/nemo/gym/nemo-gym/nemo_gym/agent_utils/process_supervisor)**
* **[`nemo_gym.agent_utils.sandbox_session`](/nemo/gym/nemo-gym/nemo_gym/agent_utils/sandbox_session)**
* **[`nemo_gym.agent_utils.supervisor_client`](/nemo/gym/nemo-gym/nemo_gym/agent_utils/supervisor_client)**