Skip to content

[limits]

Resource limits for the agent session.

deny_unknown_fields guards against typos. Without it, a field like max_search_results (an old name / misremembered variant of grep_max_results) gets silently dropped at parse time, so the user-intended cap never reaches the daemon.

Command-execution knobs (command_timeout, command_max_timeout, output bounds, spill controls, env-loading) live in [crate::manifest::CommandRunConfig] under the [command_run] section. [limits] here is intentionally restricted to numerical resource caps that aren’t tied to a single tool.

TypeintegerDefault100

LRU entry count for the file_read dedup cache. 0 disables dedup.

TypeintegerDefault25

Total MB of cached file contents before oldest entries evict.

TypeintegerDefault262144

Pre-read byte cap for file_read. Reads that would exceed this throw with a “use offset/limit or grep” message rather than silently truncating. Only applied when no explicit line range was requested — an explicit range means the caller has already accepted responsibility for output size. 0 = unbounded (not recommended).

TypeintegerDefault25000

Post-read token cap for file_read. Same throw policy as file_read_max_bytes. Uses a per-extension bytes-per-token ratio (JSON-family: 2, everything else: 4) to estimate tokens without round-tripping a real tokenizer call. 0 = unbounded.

TypeintegerDefault50
TypeintegerDefault250
TypeintegerDefault1000
TypeintegerDefault0