> ## Documentation Index
> Fetch the complete documentation index at: https://agent-compass.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Further Configure a Run

> Understand every general run parameter, its default, and where component-specific settings belong.

Use this guide after completing the [Quick Start](/en/get_started/quick_start). The starter command intentionally
omits most options: AgentCompass fills them from built-in defaults, configuration files, selected component defaults,
and compatible recipes. This page explains what those omitted values mean and how to override only the settings your
evaluation needs.

This page describes one `agentcompass run` request. To coordinate multiple benchmarks, models, harnesses, or
environments with one scheduler, use [`agentcompass launch`](/en/user_guide/cli/launch).

## Evaluation Shape

Every run starts with three positional arguments and an environment selection:

```bash theme={"system"}
agentcompass run <benchmark> <harness> <model> --env <environment>
```

Each part owns a different set of decisions:

| Part        | What it controls                                                                       | Where to configure it                              |
| ----------- | -------------------------------------------------------------------------------------- | -------------------------------------------------- |
| Benchmark   | Dataset, task selection, task preparation, scoring, and aggregate metrics              | First positional argument and `--benchmark-params` |
| Harness     | Agent loop, framework integration, tool behavior, and harness execution limits         | Second positional argument and `--harness-params`  |
| Model       | Model id, API endpoint, credentials, protocol, and inference parameters                | Third positional argument and `--model-*` flags    |
| Environment | Where commands run, workspace behavior, network policy, images, and provider resources | `--env` and `--env-params`                         |
| Runtime     | Concurrency, retries, output paths, reuse, logging, recipes, and analysis              | Top-level CLI flags or configuration files         |

<Info>
  Keep parameters with the component that owns the behavior. For example, task filters belong in `--benchmark-params`, agent step limits belong in `--harness-params`, and container resources belong in `--env-params`.
</Info>

## General Run Parameter Reference

The table below covers the complete `agentcompass run` command surface. “Built-in default” means the value used before
user-level, project-level, or explicit configuration files override it. A conditional parameter is required only when
the selected component or endpoint needs it.

| Parameter                                                                                                | Required?   | Built-in default                         | What it controls                                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------- | ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`BENCHMARK`](/en/user_guide/modules/benchmarks/overview#benchmark-list)                                 | Required    | None                                     | Registered benchmark id. Determines dataset loading, task preparation, verification, and metrics.                                                                             |
| [`HARNESS`](/en/user_guide/modules/harnesses/overview#harness-list)                                      | Required    | None                                     | Registered harness id. Determines the agent loop or framework used to attempt each task.                                                                                      |
| [`MODEL`](/en/user_guide/modules/models/overview#configure-the-model-spec)                               | Required    | None                                     | Primary model id and the model-name segment used in the result path. Prefer `"$MODEL_NAME"` in shell commands.                                                                |
| [`--env <id>`](/en/user_guide/modules/environments/overview#environment-list)                            | Optional    | `host_process`                           | Selects where task commands execute. Common choices are `docker`, `daytona`, and `modal`.                                                                                     |
| `--config <path>`                                                                                        | Optional    | None                                     | Loads an additional YAML or JSON override file. Repeat to layer multiple files in command order.                                                                              |
| [`--benchmark-params <json>`](/en/user_guide/modules/benchmarks/overview#configure-benchmark-parameters) | Conditional | Selected benchmark defaults              | Overrides the shared and benchmark-specific fields defined by the selected benchmark config.                                                                                  |
| [`--harness-params <json>`](/en/user_guide/modules/harnesses/overview#configure-harness-parameters)      | Conditional | Selected harness defaults                | Overrides the complete parameter schema defined by the selected harness.                                                                                                      |
| [`--env-params <json>`](/en/user_guide/modules/environments/overview#configure-environment-parameters)   | Conditional | Selected environment and recipe defaults | Overrides shared network policies and the selected provider's image, workspace, resource, credential, or lifecycle fields.                                                    |
| [`--model-base-url <url>`](/en/user_guide/modules/models/overview#configure-the-model-spec)              | Conditional | `""`                                     | Sets the inference endpoint. It may be omitted when the selected model client resolves its endpoint elsewhere.                                                                |
| [`--model-api-key <key>`](/en/user_guide/modules/models/overview#configure-the-model-spec)               | Conditional | `""`                                     | Sets the inference credential. Prefer `"$MODEL_API_KEY"` or a quoted environment reference.                                                                                   |
| [`--wrap-api-key`](/en/user_guide/modules/models/overview#session-aware-gateway-keys)                    | Optional    | Disabled                                 | Wraps the model credential with the run session id for a compatible internal AgentCompass gateway. Leave disabled for ordinary model endpoints.                               |
| [`--model-api-protocol <protocol>`](/en/user_guide/modules/models/overview#model-api-protocol-list)      | Optional    | Harness default                          | Selects `openai-chat`, `openai-responses`, `anthropic`, a JSON protocol list, or `auto`.                                                                                      |
| [`--model-params <json>`](/en/user_guide/modules/models/overview#configure-model-parameters)             | Optional    | `{}`                                     | Passes fields supported by the selected harness, API protocol, endpoint, and model deployment.                                                                                |
| `--task-concurrency <int>`                                                                               | Optional    | `32`                                     | Limits the number of benchmark tasks running concurrently within this process.                                                                                                |
| `--env-open-qps <provider=qps>`                                                                          | Optional    | Local: `0`; remote: `10`                 | Limits environment creation rate per provider. Repeat for multiple providers; `0` disables pacing.                                                                            |
| `--max-retries <int>`                                                                                    | Optional    | `0`                                      | Retries matching task or scoring failures up to this many additional attempts.                                                                                                |
| `--retry-pattern-list <json>`                                                                            | Optional    | `null`                                   | Restricts retries to errors matching at least one regex in a JSON string array.                                                                                               |
| `--recipe <id>`                                                                                          | Optional    | All compatible built-ins                 | Restricts automatic recipe matching to the specified recipe ids. Repeat to allow more than one.                                                                               |
| `--recipe-dir <path>`                                                                                    | Optional    | `[]`                                     | Loads a trusted external recipe package directory. Repeat for multiple packages.                                                                                              |
| `--results-dir <path>`                                                                                   | Optional    | `results`                                | Sets the root directory for run outputs.                                                                                                                                      |
| `--data-dir <path>`                                                                                      | Optional    | `data`                                   | Sets the root directory for downloaded datasets, caches, and prepared benchmark data.                                                                                         |
| `--run-name <name>`                                                                                      | Optional    | `""`                                     | Adds an optional namespace between `results_dir` and the benchmark directory.                                                                                                 |
| `--run-id <id>`                                                                                          | Optional    | Current timestamp                        | Sets the final run-directory name instead of generating `YYYYMMDD_HHMMSS`.                                                                                                    |
| `--reuse [run-id]`                                                                                       | Optional    | Disabled                                 | Reuses normal task details from the latest run under the same benchmark/model result hierarchy or from the specified run id. The user must keep measured settings compatible. |
| `--timeout-seconds <int>`                                                                                | Optional    | `360000`                                 | Sets the overall runtime timeout in seconds. Component-specific command and verifier timeouts remain separate.                                                                |
| `--progress <mode>`                                                                                      | Optional    | `auto`                                   | Selects terminal progress output: `auto`, `plain`, or `none`.                                                                                                                 |
| `--log-level <level>`                                                                                    | Optional    | `INFO`                                   | Sets console logging to `DEBUG`, `INFO`, `WARNING`, `ERROR`, or `CRITICAL`.                                                                                                   |
| `--file-log-level <level>`                                                                               | Optional    | `DEBUG`                                  | Sets the run log-file level independently from console logging.                                                                                                               |
| `--auto-install-dependencies`                                                                            | Optional    | Disabled                                 | Allows AgentCompass to install missing trusted component extras in the active Python environment.                                                                             |
| `--provider-limit <provider=count>`                                                                      | Optional    | `128` per built-in provider              | Sets a process-wide concurrent environment-session limit. Repeat per provider; `0` disables the limit.                                                                        |
| `--keep-environment`                                                                                     | Optional    | Disabled                                 | Skips environment cleanup so task and verifier sandboxes remain available for debugging.                                                                                      |
| `--enable-analysis`                                                                                      | Optional    | Enabled                                  | Enables registered post-evaluation analyzers. Use `--no-enable-analysis` to skip them.                                                                                        |
| `--analysis-params <json>`                                                                               | Optional    | Built-in analyzer defaults               | Selects analyzers and overrides their concurrency, model, rendering, or analyzer-specific settings.                                                                           |

<Tip>
  Start from the minimal Get Started command and add only the parameters you need. Inspect the effective values before
  scaling a run instead of copying every default into the command line.
</Tip>

## Component-Specific Parameters

The four JSON parameter flags do not share one schema. Their available fields and defaults depend on the selected
component:

| Flag                 | Owner                               | Where to find its fields                                                                                                                              |
| -------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--benchmark-params` | Selected benchmark                  | [Benchmark parameter schema](/en/user_guide/modules/benchmarks/overview#configure-benchmark-parameters) and `agentcompass config docs benchmark <id>` |
| `--harness-params`   | Selected harness                    | [Harness parameter schema](/en/user_guide/modules/harnesses/overview#configure-harness-parameters) and `agentcompass config docs harness <id>`        |
| `--env-params`       | Selected environment                | [Environment parameter schema](/en/user_guide/modules/environments/overview#configure-environment-parameters) and `agentcompass config docs env <id>` |
| `--model-params`     | Harness, API protocol, and endpoint | [Model parameter schema](/en/user_guide/modules/models/overview#configure-model-parameters) and the endpoint provider's request schema                |

## Choose What to Configure

<CardGroup cols={2}>
  <Card title="Choose a Benchmark" icon="gauge" href="/en/user_guide/modules/benchmarks/overview">
    Find supported datasets, benchmark-specific parameters, recommended harnesses, and minimal commands.
  </Card>

  <Card title="Choose a Harness" icon="bot" href="/en/user_guide/modules/harnesses/overview">
    Compare direct model calls, coding agents, terminal agents, research agents, and specialized harnesses.
  </Card>

  <Card title="Choose an Environment" icon="server" href="/en/user_guide/modules/environments/overview">
    Select local Docker or a remote sandbox and configure credentials, resources, and network policies.
  </Card>

  <Card title="Configure a Model" icon="settings" href="/en/user_guide/modules/models/overview">
    Connect an OpenAI-compatible or Anthropic-compatible endpoint and pass generation parameters.
  </Card>

  <Card title="Control Task Execution" icon="workflow" href="/en/user_guide/cli/run#control-task-execution">
    Tune concurrency, retries, timeouts, reuse, logging, and task lifecycle behavior.
  </Card>

  <Card title="Run Multiple Evaluations" icon="list-tree" href="/en/user_guide/cli/launch">
    Coordinate explicit model, benchmark, harness, or environment requests with one global scheduler.
  </Card>

  <Card title="Control Network Access" icon="shield" href="/en/user_guide/modules/environments/network">
    Configure setup, rollout, and verifier policies; build allowlists and verify isolation.
  </Card>

  <Card title="Inspect Results" icon="chart-no-axes-combined" href="/en/user_guide/results">
    Read per-task details and summaries, preserve reusable evidence, and analyze failures.
  </Card>

  <Card title="Troubleshoot a Run" icon="wrench" href="/en/user_guide/troubleshooting">
    Reduce a failure to one task, locate its lifecycle phase, and apply the correct fix.
  </Card>
</CardGroup>

## Configuration Files and Precedence

CLI flags are best for one run. Configuration files are useful when the same defaults must be shared across commands,
machines, or a project. They are override layers rather than a second execution interface: the same benchmark,
harness, environment, runtime, and execution settings remain in effect.

### Choose a Configuration Layer

| Need                                  | Recommended layer                                                           |
| ------------------------------------- | --------------------------------------------------------------------------- |
| Change one evaluation                 | CLI flags, JSON parameter flags, or Python SDK arguments                    |
| Share non-secret project defaults     | `<repo-root>/config.yaml` or an explicit version-controlled `--config` file |
| Keep machine-local defaults           | `~/.config/agentcompass/config.yaml`                                        |
| Keep credentials or private endpoints | Environment variables or a private explicit `--config` file                 |
| Adapt task metadata to a provider     | A compatible recipe, usually selected automatically                         |

AgentCompass loads the user-level file first, then the project-level file. Repeat `--config` to add run-specific files
in command order:

```bash theme={"system"}
agentcompass run <benchmark> <harness> "$MODEL_NAME" \
  --config configs/shared.yaml \
  --config configs/private.yaml
```

### Inspect or Generate Configuration

`config show` prints the merged `runtime` and `execution` values. Add component selectors to include the defaults for a
particular benchmark, harness, and environment, then redirect the result when you want an editable template:

```bash theme={"system"}
agentcompass config show \
  --benchmark swebench_verified \
  --harness mini_swe_agent \
  --env docker \
  > configs/swebench-verified-docker.yaml
```

`config show` answers “what value will be used?” For the meaning and accepted values of a component field, use its
module page or inspect the live component schema:

```bash theme={"system"}
agentcompass config docs benchmark swebench_verified
agentcompass config docs harness mini_swe_agent
agentcompass config docs env docker
```

### Override Order

When the same field appears in more than one place, AgentCompass resolves it in this order, from lowest to highest
priority:

1. Built-in runtime, execution, and component defaults.
2. `~/.config/agentcompass/config.yaml`.
3. `<repo-root>/config.yaml`.
4. Explicit `--config` files, in command order.
5. Supported runtime environment overrides, such as `AGENTCOMPASS_AUTO_INSTALL_DEPENDENCIES`.
6. CLI flags, Python SDK arguments, `--benchmark-params`, `--harness-params`, and `--env-params`.
7. Compatible recipe adaptation, while preserving explicit user overrides.

### Secrets

Prefer environment variables for API keys, tokens, and private endpoints. Common variables include `MODEL_NAME`,
`MODEL_BASE_URL`, `MODEL_API_KEY`, `DAYTONA_API_KEY`, `MODAL_TOKEN_ID`, and `MODAL_TOKEN_SECRET`. Do not commit secrets
to project configuration files.

## Recommended Progression

1. Select a benchmark and start with one known task through `sample_ids`.
2. Use the benchmark's recommended harness before trying alternative harnesses.
3. Confirm the model protocol and endpoint with low concurrency.
4. Select an environment that supports the benchmark's task image and isolation requirements.
5. Inspect per-task results and errors before scaling to the complete dataset.
6. Increase concurrency gradually within model endpoint and environment provider limits.
7. Use result reuse and post-analysis for interrupted runs and failure diagnosis.

The [CLI](/en/user_guide/cli) and [Python SDK](/en/user_guide/python_api) expose the same evaluation model. Choose the interface that best fits your workflow.
