Skip to main content

create_subagent_context

Function create_subagent_context 

Source
pub fn create_subagent_context(
    parent_context: &ToolUseContext,
    overrides: Option<&SubagentContextOverrides>,
) -> ToolUseContext
Expand description

Creates an isolated ToolUseContext for subagents.

By default, ALL mutable state is isolated to prevent interference:

  • read_file_state: cloned from parent
  • abort_controller: new controller linked to parent (parent abort propagates)
  • get_app_state: wrapped to set should_avoid_permission_prompts
  • All mutation callbacks (set_app_state, etc.): no-op
  • Fresh collections: nested_memory_attachment_triggers, tool_decisions

Callers can:

  • Override specific fields via the overrides parameter
  • Explicitly opt-in to sharing specific callbacks (share_set_app_state, etc.)