Agent harness
Agent harness limits
This page lists the limits and defaults of the agent harness, and what the harness does not do.
Copy page
Agent run defaults
These are the AgentConfig defaults for each run.
| Setting | Default |
|---|---|
actions | ("calendar.create_event",) |
allow_undo | True |
max_steps | 6 |
run_timeout_s | 90 seconds |
spend_cap | 100,000 tokens |
context_token_budget | 4096 |
history_turns | 20 |
RunResult.stopped_reason can be completed, cut_off, max_steps, spend_cap, timeout, model_error or blocked.
Long job limits
Long jobs are off by default. Set long_task=LongTaskConfig(...) in AgentConfig to turn them on.
| Setting | Default |
|---|---|
| Model calls per turn | up to 100 |
| Seconds per turn | up to 3,600 |
| Turns in a chain | up to 10 |
| Spend cap | 5,000,000 tokens |
On a transient provider error, a long job tries the next model of the preset that the deploy holds a key for.
Memory API limits
These limits apply to the Memory API. See the Memory API errors page for refusals.
| Field or limit | Value |
|---|---|
content | 500,000 characters |
label | 200 characters |
id | 512 characters |
metadata | 64 KiB |
| Batch ingest | 1 to 1,000 items |
Recall limit | 1 to 200 |
Recall level | low 8,000, medium 16,000, high 24,000, extra-high 32,000 tokens |
| Rate limit | Per-minute limit; over it returns 429 with Retry-After |
Each user trait key is up to 200 characters. Each trait value is up to 2,000 characters.
What the harness does not do
- Harny does not host your agent. The agent loop runs on your own model key. The long-job folder and any shell are yours. Harny hosts nothing.
- Harny never sees your model key. The model key is read from the provider's usual variable, such as
ANTHROPIC_API_KEY, or passed asapi_key=withprovider=. - Actions are limited to the catalog. The agent can perform only
calendar.create_event,email.send,ticket.create,slack.post_messageandnotion.create_page. Each has an undo exceptemail.send. Undo needs the action record id. - Learning does not write rules. A learned settings offer changes one action kind's setting only when you apply it. You can keep the current setting or restore the previous one. A restore changes the setting for future actions only.
- Completing a manual action does not create a rule. It also does not run the step a second time.
- Long jobs are off by default. They run only when you set
long_task.
Permissions apply to every action. The strictest overlapping setting wins.
Where limits come from
Per-run limits are AgentConfig settings. Memory API limits belong to the Memory API. You set permissions and learning in the console under Actions, Automation.