evolve job start accepts exactly the same options.
--n-attempts.
Without --watch, the command returns when the job is accepted. Acceptance does not mean the trials have finished. Keep the returned job ID to inspect results.
Select tasks and agents
A bare dataset name selects its active version. Pin
name@version to select a specific version. Quote globs, such as 'auth-*', so your shell does not expand them.
Use a config file
Use YAML or JSON for several agent harnesses or different filters per dataset. Save this asjob.yaml:
job.yaml
--print-config creates no job and uploads no local skills. It does not resolve catalog names or fill every server default. It masks sandbox credentials, but prints inline agent secret values.
How flags override the file
How flags override the file
Other flags override their matching field. Select an organization with
--org or evolve auth org use; the CLI does not retain org from the job file.Quote version strings in YAML, for example version: "1.10". Config validation rejects unknown fields, duplicate keys, and invalid field types before submission.Set spend and retries
The spend cap must be from
$0.000001 to $999999.999999; values are stored to six decimal places. Each retry receives the full trial cap. A low score does not trigger an infrastructure retry. Capacity waits are separate and can still occur with --max-retries 0.
The cap stops new model calls when reached, but a call already in progress can finish above it. There is no job-wide spend cap. Verifier judge spend, analysis, and GPU compute are separate from the agent cap. See Jobs for estimates and retry rules.
Additional options
Job, organization, and sandbox
Job, organization, and sandbox
For
--own-infra, keys come from your shell: E2B_API_KEY, DAYTONA_API_KEY, or MODAL_TOKEN_ID and MODAL_TOKEN_SECRET. Modal also reads its active profile in ~/.modal.toml. Missing values fall back to your stored secrets. --print-config masks these values.On Evolve’s account, a task may run on another compatible provider. Inspect its trial for the provider actually used. With --own-infra, an incompatible task is rejected instead of moved. See Sandboxes for restrictions.Agent settings and skills
Agent settings and skills
These options apply to every agent combination.The example reads native agent settings from
codex.toml. Other --ak values parse as JSON, then True, False, or None, then plain text.Skills accept skills.sh/owner/repo[/skill], org/repo[@ref], a Git URL, upload:<id>, or name:<skill-name>. Use a path such as ./my-skill for a local directory; it uploads before the job starts.Unsupported effort, presets, or native configuration settings are refused. See Agents and Skills.Secrets and verifier environment
Secrets and verifier environment
Analyze traces as trials finish
Analyze traces as trials finish
Any
--analyze-* option enables analysis. Cancelled trials are skipped. Read the current defaults with evolve analyze --show-defaults.To analyze an existing job, use evolve analyze.Timeouts
Timeouts
Every multiplier must be finite and greater than zero. A phase-specific value overrides the general multiplier for that phase.
Values below
1 shorten a timeout. The task definition is unchanged. A resulting phase timeout above 2,147,483,647 milliseconds (about 24.86 days) is rejected.Configuration and output
Configuration and output
With
--json alone, the command prints the accepted job object. With --watch --json, it prints one JSON record per line: job.created, event records, then job.final. Quiet mode keeps the initial and final records.A watched job exits with code 0 for COMPLETED, or 1 for FAILED or CANCELLED. A completed job can contain failed trials; inspect the trial results before treating it as a successful evaluation.
