tests/.
Choose an image source
- Dockerfile
- Prebuilt image
- Multiple containers
environment/Dockerfile
environment/, so COPY paths are relative to that directory.Working directory and user
The working directory resolves in this order:workdir explicitly when it needs a path other than /app.
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.
task.toml
Start a service
An image’sENTRYPOINT 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
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 intask.toml. Evolve adds them to the harness’s MCP configuration.
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.

