Installation¶
Requirements¶
- Linux for the sandbox. The jail uses Landlock, seccomp, and user namespaces, which
are Linux-only. macOS and Windows run unsandboxed: the default
profile = "auto"resolves tonone, commands run as ordinary subprocesses behind a startup warning, and an explicitstrictorhardenedprofile is refused. - Kernel 6.7 or newer for the Landlock network rules. Older kernels fall back to filesystem-only Landlock with a warning.
- Unprivileged user namespaces for the
strictprofile. They are on by default on Ubuntu, Debian, and most cloud images. On Ubuntu 24.04+, wherekernel.apparmor_restrict_unprivileged_userns = 1blocks them, either set that sysctl to 0 or install the bundled AppArmor profile withagent6 system apparmor install(removed again withagent6 system apparmor remove). Without user namespaces agent6 falls back to thehardenedprofile, which is still real isolation. - Python 3.12 or newer, and an API key for at least one provider.
- A Rust toolchain only when building from source; the PyPI wheels bundle a prebuilt
agent6-jail.
The security model describes what each profile enforces.
From PyPI¶
Both put the agent6 entry point in ~/.local/bin. If that is not on your PATH, run
uv tool update-shell or pipx ensurepath and restart the shell.
From source¶
AGENT6_JAIL_BIN=/path/to/agent6-jail overrides the bundled jail binary.
Shell completion¶
agent6 uses argcomplete:
Check the install¶
agent6 check sandbox runs the jail through a set of probes and reports which profile a
run will use on your kernel.