Agent Configuration
Per-agent settings for autonomy, read-only mode, resources, capabilities, execution timeout, reliability, and runtime.
The Settings Tab
The Agent Detail page has a Settingstab (visible to owners only) — a sectioned home for per-agent configuration. Current sections:
The remaining settings below are managed from the agent header controls, the Running/Autonomy toggles on the Dashboard, or the API.
Parallel Capacity
How many tasks the agent may run concurrently (max_parallel_tasks, default 3). Work beyond the limit queues and drains as slots free up.
GET/PUT /api/settings/max-parallel-tasks-ceiling (default 10, range 1–32). Owners pick any value up to the ceiling. If an agent's stored value exceeds a later-lowered ceiling, the stored value is kept but the effective limit is clamped to the ceiling — the panel shows a notice when this applies.GET /api/agents/{name}/capacity returns the stored value, the ceiling, and the effective limit.Autonomy Mode
Master gate for the agent's scheduled operations.
GET /api/agents/{name}/autonomy and PUT /api/agents/{name}/autonomyRead-Only Mode
Prevents modification of source files (*.py, *.js, etc.) inside the agent container.
PreToolUse hooks to intercept Write, Edit, and NotebookEdit tool callsoutput/*, content/* (generated files are permitted)GET /api/agents/{name}/read-only and PUT /api/agents/{name}/read-onlyResource Allocation
Per-agent memory and CPU limits, enforced at the container level (Linux cgroups).
GET /api/agents/{name}/resources and PUT /api/agents/{name}/resourcesFleet-wide defaults (admin): the default CPU and memory for new agent containers are set platform-wide via GET/PUT /api/settings/agent-defaults/resources(admin-only; CPU 1/2/4/8/16, memory 1g–32g). Changes apply to new containers only — restart existing agents to pick up new defaults.
Execution Timeout
Configurable time limit for agent executions.
timeout_seconds is rejected with 400 error=agent_timeout_below_active_schedules. Conversely, creating or updating a schedule with timeout_seconds > agent.execution_timeout_seconds is rejected with 400 error=schedule_timeout_exceeds_agent_cap. Raise the agent cap first, then the schedule.GET /api/agents/{name}/timeout and PUT /api/agents/{name}/timeoutDispatch Circuit Breaker
Optional per-agent protection (default: off) that stops sending new work to an agent whose container repeatedly answers with authentication failures — for example, an expired API key. Instead of queueing tasks that are doomed to fail, the platform rejects new executions immediately with 503 and a Retry-After header, and fails any tasks already queued for that agent.
How it behaves when enabled:
Two switches must both be on for the breaker to engage: the per-agent toggle (owner-only) and the platform-wide DISPATCH_BREAKER_ENABLED environment variable (also off by default).
When a breaker is open, the agent header and the agent's Dashboard tile show a “⚡ circuit open” badge, and the Overview tab's health panel shows a “Circuit open” chip. Switch the breaker on or off in Settings → Reliability, or via the API:
| Endpoint | Method | Description |
|---|---|---|
| /api/agents/{name}/circuit-breaker | GET | Current state of both breakers (dispatch + transport), plus config flags |
| /api/agents/{name}/circuit-breaker | PUT | Enable or disable the per-agent breaker ({"enabled": true}, owner-only) |
| /api/agents/{name}/circuit-breaker/reset | POST | Force both breakers closed without waiting for cooldown (admin-only) |
Wake on Operator Answer
An answer to one of the agent's parked requests (an approval, a question) always reaches the agent, but by default it is only read on the agent's next turn. An agent with no schedule has no next turn, so an approved action would wait indefinitely. Turn on Wake this agent when an operator answers in Settings → Reliability and answering starts one turn so the agent acts on it right away. Off by default.
403 even though it acts for the owner. Each wake is a turn the owner pays for, so an agent cannot switch on its own wake-ups. An agent can still read the setting.GET /api/agents/{name}/operator-resume and PUT /api/agents/{name}/operator-resume ({"enabled": true})Per-Agent API Key
Controls which API key the agent uses for Claude.
Model Selection
Choose the Claude model used for tasks and scheduled executions.
localStorage; model_used is recorded in the execution audit trail.Runtime
Set via runtime.type in template.yaml.
claude-code (default)gemini-clicodex (OpenAI Codex)See Agent Runtimes for capability differences (session resume, cost reporting, MCP support).
For Agents
Agents inherit their configuration at container creation time. Changes to resource allocation, API key, or runtime trigger a container recreate. Changes to autonomy, read-only mode, timeout, circuit breaker, and model selection take effect on the next execution without restarting the container.