Skip to main content
AgentCompass is currently installed from a source checkout. Start with the package installation below; the operating-system matrix and environment prerequisites later on this page explain which task execution paths are supported on your device.

Install AgentCompass

Use one isolated virtual environment. Do not mix uv, pip, and conda package installation in the same environment unless you fully understand their resolution behavior.

Clone the repository

Clone the repository first from GitHub:
Install uv using the official installation guide.
uv can install a managed Python 3.12 runtime when the host does not already provide one. See the official uv Python installation guide.

Alternative: pip and venv

Install Python 3.12 using the official Python downloads, then create a virtual environment:

Alternative: Conda

After installing and initializing Conda:
The commands above install only AgentCompass and its required core dependencies. Optional benchmark and harness extras are checked only when the selected execution path needs them, and automatic installation is disabled by default. See Dependencies for the available extras, host-versus-sandbox rules, manual installation, and opt-in automatic installation.

Verify the installation

With the environment activated, confirm that Python 3.12 or newer is active and that the AgentCompass CLI opens successfully:

Supported Operating Systems

AgentCompass itself is installed on your computer, but the agent does not always execute tasks directly on that computer. A task can run in one of three places:
  • Directly on your computer with host_process.
  • Inside a Docker container on your computer with docker.
  • Inside a cloud sandbox with daytona or modal.

host_process vs. docker

host_process is a direct execution adapter, not a sandbox. Commands run as normal subprocesses on your computer and file operations use the real host filesystem. The process inherits the host’s installed tools, permissions, network access, and operating-system state. docker creates a container for the task. Commands and file operations run inside the container, and the task receives the dependencies and filesystem layout defined by its image.
Do not use host_process for an untrusted or shell-capable agent. It can read, modify, or delete files available to your user account and can start processes directly on your computer. Prefer Docker or a remote sandbox for agentic coding and terminal benchmarks.
Docker substantially reduces task access to the host, but a container is not an absolute security boundary. Avoid unnecessary host mounts, protect Docker daemon access, and apply an appropriate network policy for untrusted evaluations.

Operating System Matrix

The supported options depend on your operating system:
Docker Desktop may be able to start Linux containers on native Windows or macOS, but AgentCompass does not currently treat those paths as supported local benchmark environments. Coding and terminal benchmark images, workspace paths, and evaluators assume a Linux environment. Use WSL 2, Daytona, or Modal for those workloads.

WSL 2: AgentCompass treats WSL 2 as a Linux host. Run AgentCompass, keep the repository, and invoke Docker from inside the WSL distribution.

Why native Windows cannot run tasks directly: The current host_process implementation sends shell commands to /bin/sh. Benchmark and harness workflows can also rely on POSIX paths, executable permissions, signals, and command-line tools that are not available in native Windows. WSL provides the required Linux behavior.

What “Limited” means on macOS: macOS provides /bin/sh and POSIX filesystem behavior, so lightweight or service-backed benchmarks can work with host_process. A benchmark may still depend on Linux-only packages, utilities, paths, or evaluation scripts. Use host_process only when the benchmark documentation explicitly supports it; use Daytona or Modal for coding, terminal, and other command-heavy benchmarks.

Prerequisites

All installation paths require:
Disk, memory, and network requirements depend on the benchmark. Coding and terminal benchmarks can pull multi-gigabyte task images, so confirm available storage before starting a large run.

Common System Tools

On Ubuntu, Debian, and Ubuntu-based WSL distributions, install the common command-line tools before creating the Python environment:
Verify the tools:
For another Linux distribution, use its package manager and follow the official Git installation links.
On macOS, lightweight supported tasks can use host_process; Linux-specific tasks should run in Daytona or Modal. Homebrew is the recommended way to install and maintain common command-line tools:
macOS already includes curl and unzip. If Homebrew or an optional Python package needs native compilation tools, install the Xcode Command Line Tools with xcode-select --install. Local Docker benchmark execution is not part of the supported macOS path.

Linux Local Docker Setup

Use Docker Engine from Docker’s official repository for your distribution: After installation, start the daemon if necessary and verify the complete client-to-daemon path:
If Docker only works with sudo, follow Docker’s post-installation guide to configure non-root access:
Membership in the docker group grants root-level privileges on the host. Review Docker’s security warning before enabling non-root daemon access.

WSL 2 and Docker Setup

Install WSL from an elevated PowerShell session by following Microsoft’s WSL installation guide:
Restart Windows when requested, then confirm that the distribution uses WSL 2:
Choose one Docker topology:
  1. Install Docker Engine inside the WSL Linux distribution by following the matching Linux instructions.
  2. Install Docker Desktop and enable its WSL 2 integration by following the Docker Desktop WSL guide.
Do not maintain separate Docker Engine and Docker Desktop daemons inside the same WSL distribution. After setup, open the WSL shell and verify:
Store the AgentCompass checkout in the WSL Linux filesystem, for example ~/code/AgentCompass, rather than under /mnt/c/. Docker recommends the Linux filesystem for better bind-mount performance and correct Linux file semantics.

Remote Sandbox Setup

Daytona and Modal run benchmark tasks in cloud sandboxes. They are the supported execution environments for Windows without WSL and the reliable path for Linux-specific workloads on macOS. They can also be used from Linux or WSL. You need only one provider. Keep its credentials in environment variables or a secret manager; never commit them to the repository.
Provider-specific endpoints and organization settings are optional. Continue with the Daytona guide or Modal guide after the base installation.

Optional Component Dependencies

The base installation contains the AgentCompass runtime and common integrations. Benchmark- or harness-specific packages are installed lazily on first use when automatic dependency installation is enabled. Install known extras ahead of time when your computer will later run without package-index access:
A no-network task sandbox cannot install a missing harness CLI or package at task time. Use a task image that already contains the required runtime, or prepare the dependency before enabling the sandbox network restriction.
See Dependency Management for available extras, lazy-install behavior, and offline preparation.

Update to the latest version

Commit or stash local changes before rebasing:
Reinstall the editable package when pyproject.toml or dependency metadata changes:

Troubleshooting