-
Notifications
You must be signed in to change notification settings - Fork 3.3k
v0.8.63: Expose editable sub-agent recursion and concurrency controls #3304
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnessReliability, flaky behavior, retries, fallbacks, and robustnesssubagentsSub-agent orchestration, lifecycle, and completion handlingSub-agent orchestration, lifecycle, and completion handlingtuiTerminal UI behavior, rendering, or interactionTerminal UI behavior, rendering, or interactionv0.8.63Targeting v0.8.63Targeting v0.8.63
Milestone
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnessReliability, flaky behavior, retries, fallbacks, and robustnesssubagentsSub-agent orchestration, lifecycle, and completion handlingSub-agent orchestration, lifecycle, and completion handlingtuiTerminal UI behavior, rendering, or interactionTerminal UI behavior, rendering, or interactionv0.8.63Targeting v0.8.63Targeting v0.8.63
Projects
StatusShow more project fields
Backlog
Problem
Sub-agent runtime limits are implemented in config, but they are not first-class editable controls. Users cannot easily change the sub-agent recursion level or related launch limits from the TUI.
This makes sub-agents feel hardcoded even though the runtime already reads knobs like
[subagents] max_depthandmax_concurrent.Current state / evidence
Config::subagent_max_spawn_depth()reads[subagents] max_depth, defaults to the shared sub-agent/fleet recursion budget, allows0, and clamps to the compile-time ceiling.Config::max_subagents()reads[subagents] max_concurrentbefore top-levelmax_subagents.Config::launch_concurrency()reads[subagents] launch_concurrencyand supports a deprecatedinteractive_max_launchfallback./agent [N] <task>exposes per-invocation recursive depth, but that does not solve global defaults or persistent user policy.Proposed controls
Expose a clear settings surface for:
max_subagents[subagents] max_concurrent[subagents] max_depth[subagents] launch_concurrency[subagents] api_timeout_secs[subagents] heartbeat_timeout_secs[subagents.models]role/type model defaults, at least as read-only if editing the table is too large for this sliceThe exact UX can be
/config subagents ..., a settings modal, or both, but the values must be visible and persistable.Acceptance criteria
[subagents] max_depthwithout manually editing TOML.max_depth = 0is displayed as disabling nested child-agent spawning, not as an error.Non-goals