Node 22 or newer
Every package declaresengines.node >= 22.
A sandbox provider
Every command an agent runs happens in a sandbox, and the harness will not let a model’s commands run anywhere that does not isolate. The default provider is nativesandbox: containers through Podman or Docker, needing no nested virtualisation and no/dev/kvm.
So the host needs a container engine reachable over its socket. On Linux, rootless Podman is
the recommended engine:
@nativeharness/sandbox-local runs commands on the host with no isolation. It exists for
tests and for trusted, deterministic scripts. The agent refuses to use it with a real model,
and that refusal is enforced in code rather than documented.A model, or none
Thecore layer has no model in it and needs no key. The agent layer needs one
ModelAdapter, and the five that ship read their keys from the environment:
A
ScriptedAdapter also ships: a deterministic model for tests and demos, which is how the
harness’s own suite runs a whole turn with no key at all.