> ## Documentation Index
> Fetch the complete documentation index at: https://docs-omnicoreagent.omnirexfloralabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent settings

> Every key agent_config takes, its default, and what it does

# Agent settings

Everything `OmniCoreAgent(agent_config={...})` takes. Each description is the comment above the setting in the code.

| Setting                    | Type                                        | Default   | What it does                                                                                                                                                                                                  |
| -------------------------- | ------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agent_version`            | `str \| None`                               | `None`    | Recorded as the trace's agent\_version; a content hash of the harness (prompt, tools, model, and settings) is used when it is not set.                                                                        |
| `request_limit`            | `int`                                       | `0`       | Most model calls one run may make, and most tokens (in and out) it may use; over either, the run ends with termination\_reason resource\_limit. 0 is no limit. For limits in dollars, use governance budgets. |
| `total_tokens_limit`       | `int`                                       | `0`       | Most model calls one run may make, and most tokens (in and out) it may use; over either, the run ends with termination\_reason resource\_limit. 0 is no limit. For limits in dollars, use governance budgets. |
| `max_steps`                | `int`                                       | `50`      | Most model turns one run may take; then it ends with termination\_reason max\_steps. 1 to 1000.                                                                                                               |
| `tool_call_timeout`        | `int`                                       | `180`     | Seconds one tool call may take before it fails with a timeout. 2 to 1000.                                                                                                                                     |
| `subagent_timeout`         | `int \| None`                               | `None`    | Seconds a delegation (spawn\_subagents) may take. None: a worker is bounded by its own step cap and the run's deadline, not by the timeout for one tool call.                                                 |
| `mcp_enabled`              | `bool`                                      | `False`   | Accepted for compatibility with 0.3.x and has no effect: MCP is on when mcp\_tools are given.                                                                                                                 |
| `enable_advanced_tool_use` | `bool`                                      | `False`   | For large tool sets: a tools\_retriever tool the model uses to find tools by describing what it needs; the matching tools are offered on the next turn.                                                       |
| `enable_subagents`         | `bool`                                      | `False`   | Let the agent spawn focused workers (spawn\_subagents), each under the same policy and budgets with its own linked trace. Turns workspace files on.                                                           |
| `enable_agent_skills`      | `bool`                                      | `False`   | Offer the skills found in skills\_dir: their instructions, files and scripts.                                                                                                                                 |
| `skills_dir`               | `str \| None`                               | `None`    | Where skills are found; None is ./.agents/skills in the working directory. A harness names its own, so the task's directory stays the task's.                                                                 |
| `completion_review`        | `int`                                       | `0`       | How many times a final answer is reviewed before it is accepted: the model is asked for each requirement and the check that showed it, and the run goes on in the same trace. Off by default.                 |
| `skill_script_env`         | `list[str]`                                 | `[]`      | Environment variables host skill scripts receive beyond the minimal set (PATH, HOME, locale, TMPDIR, TERM); secrets are not passed by default.                                                                |
| `run_lease_seconds`        | `int`                                       | `60`      | A live run refreshes its heartbeat within this many seconds; a run whose heartbeat is older can be recovered by another process.                                                                              |
| `code_mode`                | `dict[str, Any]`                            | `{}`      | Code mode: a run\_code tool that runs Python in Monty (omnicoreagent\[codemode]).                                                                                                                             |
| `agents_md`                | `dict[str, Any]`                            | `{}`      | A project's own instructions for the agent (AGENTS.md), by path.                                                                                                                                              |
| `memory_config`            | `dict[str, Any]`                            | see below | How much of a session's history a run is given: a sliding window of messages or tokens, and optional summaries of what falls out of it.                                                                       |
| `enable_workspace_files`   | `bool`                                      | `True`    | File tools over the agent's workspace (ls, read\_file, write\_file, edit\_file, glob, grep, ...). The workspace itself is set by workspace\_config.                                                           |
| `guardrail_config`         | `dict[str, Any]`                            | `{}`      | The prompt-injection guardrail: guardrail\_mode is full (input and tool results), input\_only, or off; guardrail\_config tunes its detection.                                                                 |
| `guardrail_mode`           | `str`                                       | `"full"`  | The prompt-injection guardrail: guardrail\_mode is full (input and tool results), input\_only, or off; guardrail\_config tunes its detection.                                                                 |
| `privacy_config`           | `dict[str, Any]`                            | see below | Personal data (email, phone, SSN, card numbers) redacted per boundary. By default only the record (telemetry and its exports) is redacted; the model, memory, files, stream and answer see the real data.     |
| `context_management`       | `dict[str, Any]`                            | see below | Keeps a run's context under a token budget before each model call: past threshold\_percent of value, older messages are truncated or summarized, keeping the preserve\_recent latest.                         |
| `tool_offload`             | `dict[str, Any]`                            | see below | A tool result over the thresholds is saved to the workspace, and the model gets a preview and an artifact it can read in full.                                                                                |
| `governance_config`        | `dict[str, Any]`                            | see below | The policy (a profile, a policy, or a policy file), budgets, the sandbox provider and its manifest, and how unanswered approvals are handled. Off by default; see the security model.                         |
| `workspace_config`         | `WorkspaceConfig \| dict[str, Any] \| None` | `None`    | Where the agent's workspace lives: workspace\_dir on local disk (default ./workspace), or S3 / R2 storage.                                                                                                    |

## Defaults in full

### `memory_config`

How much of a session's history a run is given: a sliding window of messages or tokens, and optional summaries of what falls out of it.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "mode": "sliding_window",
  "summary": {
    "enabled": false,
    "retention_policy": "keep"
  },
  "value": 10000
}
```

### `privacy_config`

Personal data (email, phone, SSN, card numbers) redacted per boundary. By default only the record (telemetry and its exports) is redacted; the model, memory, files, stream and answer see the real data.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "categories": [
    "credit_card",
    "email",
    "phone",
    "ssn"
  ],
  "enabled": true,
  "redact_memory": false,
  "redact_model_io": false,
  "redact_public": false,
  "redact_stream": false,
  "redact_telemetry": true,
  "redact_workspace": false
}
```

### `context_management`

Keeps a run's context under a token budget before each model call: past threshold\_percent of value, older messages are truncated or summarized, keeping the preserve\_recent latest.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "enabled": true,
  "mode": "token_budget",
  "preserve_recent": 4,
  "strategy": "truncate",
  "threshold_percent": 75,
  "value": 100000
}
```

### `tool_offload`

A tool result over the thresholds is saved to the workspace, and the model gets a preview and an artifact it can read in full.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "enabled": true,
  "max_preview_lines": 10,
  "max_preview_tokens": 150,
  "threshold_bytes": 2000,
  "threshold_tokens": 500
}
```

### `governance_config`

The policy (a profile, a policy, or a policy file), budgets, the sandbox provider and its manifest, and how unanswered approvals are handled. Off by default; see the security model.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "allow_static_high_risk_approvals": false,
  "allow_test_sandbox_runtime": false,
  "approval_mode": "suspend",
  "approval_resolver": null,
  "budgets": null,
  "enabled": false,
  "policy": null,
  "policy_path": null,
  "profile": "interactive-dev",
  "project_root": null,
  "sandbox_config": null,
  "sandbox_manifest": null,
  "sandbox_runtime": null,
  "workspace_bridge": null
}
```
