Skip to main content
The environment is the Linux system where the agent works. Install dependencies and seed files here; keep hidden tests in tests/.

Choose an image source

environment/Dockerfile
Evolve builds the image when you publish the dataset. The build context is environment/, so COPY paths are relative to that directory.

Working directory and user

The first available working directory wins: When a prebuilt-image task declares environment.skills_dir and supplies those skill files under environment/, set workdir explicitly or use /app. Evolve does not substitute the image’s working directory in this case. The directory is recorded at publication; republish the same version label to update it.
Harbor’s Docker environment also uses inherited and prebuilt-image working directories. When the image declares no directory or uses /, Harbor runs at /; Evolve uses /app.A separate verifier resolves its directory in this order:
  1. [verifier.environment].workdir when that table exists, otherwise [environment].workdir.
  2. WORKDIR in tests/Dockerfile or the image it starts.
  3. The image’s own working directory.
  4. /app.
The Compose service setting does not apply to a separate verifier.
Use [agent].user to select an existing username. Otherwise, the parsed Dockerfile’s USER applies, with root as the fallback. Use root or 0 for root; other numeric UIDs and user:group declarations are rejected. The named user must already exist in the image, and the image must include su. Evolve prepares the user’s home before running the agent. Non-root users require a built-in harness; registered custom agents do not support them.
task.toml

Start a service

An image’s ENTRYPOINT runs before the agent starts. CMD is not used as the task command; keep-alive entrypoints such as sleep infinity do not start a service. Add a healthcheck when the agent must wait for a service:
task.toml
The agent starts after the check exits 0. Exhausted retries fail the trial before the agent runs. The values above are the defaults; only command is required.
A separate verifier cannot reuse an agent image that starts a service. Give it its own verifier image, or use shared verification.

Add MCP tools

Declare servers in task.toml for a built-in harness with MCP support. Registered custom agents and mini-swe-agent do not support task MCP servers.
A remote URL must be reachable under the task’s network policy. A local process must be installed in the image; downloading it with npx or uvx needs network access. stdio processes inherit the task environment variables and do not accept a separate env field.

Supported scope

Evolve runs headless Linux tasks. It does not provide a desktop, display server, Windows environment, or Apptainer runtime.

Configure the task

Set resources, timeouts, and network access.
Last modified on November 9, 2026