> This page is for version 0.6.0.
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo/gym/v0.7.0/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, stop and reap the harness process
group, and write its termination receipt. Explicitly detached task services remain
for the sandbox owner to stop. 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)**
* **[`nemo_gym.agent_utils.uv_bootstrap`](/nemo/gym/nemo-gym/nemo_gym/agent_utils/uv_bootstrap)**