Subagent settings

DataMind Oda can hand part of a task to a subagent. Two limits decide how deep and how wide that delegation may go, and both are edited in the app. This page covers those limits, their defaults, where they are set, and what overrides them.

Where the limits live

The same two limits appear on two surfaces, and both write the same values:

The two limits

LimitWhat it decidesDefault and accepted values
Maximum recursion depthHow many levels of subagents a task may create. 0 disables subagents; 1 means only the main agent creates them; higher values let each level create the next, until the limit is reached.1; a whole number of 0 or more.
Subagent parallelism limitHow many subagents can be live at the same time under the same main agent, across all levels. The main agent is not counted, and new subagents are refused while the limit is reached.8; a whole number of 1 or more.

A delegation tool can carry a maximum recursion depth of its own, or leave the maximum to its provider with provider-managed. Either way, it takes precedence over Maximum recursion depth. Delegating work to subagents covers how far a run can go.

Change the limits

  1. Open either surface, and edit Maximum recursion depth or Subagent parallelism limit.
  2. Click Save. Nothing is written before you save, and leaving the surface drops what was not saved.
  3. A field holding your saved value is marked Overridden; Reset to default on a field clears that value, and the next Save writes the change.

The values are read as delegation happens: a changed depth applies from the next delegation, and the parallelism limit is counted whenever a subagent starts. Lowering the parallelism limit does not stop subagents that are already running; further starts are refused until the number of live subagents falls below it.

What the settings do not change

When a delegation tool refuses to load

When a delegation tool is set up, Oda checks it against the provider it names. A mismatch stops the tool from loading, with messages like these:

MessageWhat it meansWhat to do
cannot enforce maxDepth (no depthLimit capability). The message then says set maxDepth: 'provider-managed' to leave the recursion budget to the provider.A tool asked for a numeric maximum from a provider that cannot enforce one.Leave the maximum to the provider with provider-managed, or use a provider that can enforce depth.
does not support child agentOptionsThe provider cannot take per-child options, such as a model or a token cap.Remove the child options, or use a provider that takes them.
does not support child model selectionThe provider cannot take a chosen model for the child.Turn model selection off for that tool, or change the provider.
does not support backgroundMode: continuableThe provider cannot keep a subagent for later messages.Use one-shot background mode with this provider.
tool-subagent: toolFilter is configured but names neither allow nor denyA tool filter was set with nothing in it.Fill the allow or deny list, or remove the filter.

When a call is refused

Questions, answered

Where are the delegation limits set?

On two surfaces, both writing the same values: the Subagent limits card under Settings > Agent presets, below the preset roster, and the Limits section of the Subagent page under Plugins in the sidebar. The second needs Developer tools on; the first needs no developer switches.

What does 0 for maximum recursion depth do?

It disables subagents for every delegation tool that takes its depth from this setting. A tool with a maximum of its own, or one left to its provider with provider-managed, keeps working: its own maximum takes precedence.

Why does my depth setting not always apply?

A delegation tool can carry a maximum recursion depth of its own, or leave the maximum to its provider with provider-managed. Where a tool has one of those, it takes precedence over Maximum recursion depth, so the tool's own number is what applies.

Can I change the limits while work is running?

Yes. The values are read as delegation happens: a changed depth applies from the next delegation, and the parallelism limit is counted whenever a subagent starts. Lowering the parallelism limit does not stop subagents that are already running.

Why can I not save my change?

Usually because a value was not accepted. A message shows below the field: Enter a whole number of 0 or more. or Enter a whole number of 1 or more., and the save waits until the value is fixed. If the save itself is refused, the message reads The deployment did not accept these values; they were left for you to correct., and your draft stays for you to correct.

Why can I not edit the limits?

If the surface says This deployment stores settings read-only., this installation keeps its settings read-only, and the fields stay disabled; nothing in the form changes that.

What does Reset to default do?

It clears your saved value for that field, so the value the app composes applies again. A field holding your value is marked Overridden; Save writes the reset like any other change.

Which setting decides whether a delegation runs in the background?

None on this surface. The shape of a delegation, one-shot or continuable, is set on the delegation tool itself; one-shot is the default, and continuable needs a provider that supports it. See Background subagents and job collection.

Why is the Subagent page missing from Plugins?

It is a developer surface. The Plugins page appears while its own switch, Plugins page, is on in Settings > Developer > Advanced features, and the Subagent card while Developer tools are on, a switch in Settings > General. See Advanced features and Plugins and bundles. You do not need either for the limits: they are also under Settings > Agent presets.