Single-agent baseline that hands the whole search loop to one Claude Code CLI session, run inside the task's own container image by default (subscription-only billing): Claude edits the solution and runs the task's own evaluator, and the framework scores checkpoints with that same evaluator. A run scored on the host (general.eval_mode: local) gets the session as a host subprocess instead.
# Claude Code — delegate the whole loop to one Claude Code CLI session, run inside the task's own
# container image (or on the host when the run is scored there — general.eval_mode: local). general.max_iterations is the prompt-level evolution
# budget. The CLI safety cap is proposer.claude_cli_max_turns (default: 2x general.max_iterations).
seed: 0
general:
max_iterations: 100 # prompt-level turn budget ("You have N turns total")
checkpoint_interval: 10
proposer:
claude_model: null # the CLI's --model (claude-*/sonnet/opus/haiku); null = CLI default
claude_cli_max_turns: null # CLI --max-turns safety cap; null = 2x general.max_iterations
claude_wall_timeout_seconds: null # whole-session wall timeout; null = derived from CLI cap/evaluator
# Billing is subscription-only: a container starts with no environment at all unless explicitly
# passed with `-e`, so ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKEN can never reach the CLI.
# Auth: CLAUDE_CODE_OAUTH_TOKEN (`claude setup-token`) or the local `claude /login` credentials.
reasoning_effort: high # the CLI's --effort (low|medium|high|xhigh|max); null = CLI default
claude_docker_image: null # runner image tag; null = bundled default, built on first use
claude_docker_memory: null # `docker run --memory` cap (e.g. "4g"); null = unbounded
claude_docker_cpus: null # `docker run --cpus` cap; null = unbounded
claude_docker_network: null # `docker run --network`; null = Docker's default (bridge)