pub struct PoolConfig {Show 20 fields
pub model: Option<String>,
pub permission_mode: Option<PermissionMode>,
pub max_turns: Option<u32>,
pub system_prompt: Option<String>,
pub allowed_tools: Vec<String>,
pub mcp_servers: HashMap<String, Value>,
pub effort: Option<Effort>,
pub fallback_model: Option<String>,
pub budget_microdollars: Option<u64>,
pub slot_mode: SlotMode,
pub max_restarts: u32,
pub worktree_isolation: bool,
pub slot_assignment_timeout_secs: u64,
pub scaling: ScalingConfig,
pub unattended_mode: bool,
pub detect_permission_prompts: bool,
pub supervisor_enabled: bool,
pub supervisor_interval_secs: u64,
pub strict_mcp_config: bool,
pub worktree_base_dir: Option<PathBuf>,
}Expand description
Configuration that applies to all slots by default.
Individual slots can override any of these fields via SlotConfig.
Fields§
§model: Option<String>Claude model to use (e.g. “claude-haiku-4-5-20251001”).
permission_mode: Option<PermissionMode>Permission mode for slots.
max_turns: Option<u32>Maximum turns per task.
system_prompt: Option<String>System prompt prepended to all slot tasks.
allowed_tools: Vec<String>Allowed tools for slots.
mcp_servers: HashMap<String, Value>MCP servers available to slots.
effort: Option<Effort>Default effort level for slots (maps to --effort).
fallback_model: Option<String>Fallback model to use if the primary model fails.
budget_microdollars: Option<u64>Total budget cap for the pool in microdollars.
When cumulative spend across all slots reaches this limit,
new tasks are rejected with crate::Error::BudgetExhausted.
slot_mode: SlotModeDefault slot mode.
max_restarts: u32Maximum number of restarts per slot before marking as errored.
worktree_isolation: boolEnable git worktree isolation for slots.
slot_assignment_timeout_secs: u64Maximum time to wait for an idle slot before failing a task (in seconds).
scaling: ScalingConfigDynamic scaling configuration (min/max bounds).
unattended_mode: boolEnable unattended mode: use stricter permission defaults to prevent prompts.
When true, defaults to DontAsk permission mode if not explicitly set.
detect_permission_prompts: boolIf true, detect permission prompt patterns in stderr and provide actionable errors.
supervisor_enabled: boolEnable the background supervisor loop for slot health monitoring.
When enabled, the supervisor periodically checks for errored slots and
restarts them automatically (up to max_restarts).
supervisor_interval_secs: u64Interval in seconds between supervisor health checks (default: 30).
Only used when supervisor_enabled is true.
strict_mcp_config: boolUse --strict-mcp-config when passing MCP config to slots.
Prevents slots from inheriting the coordinator’s .mcp.json, which
avoids accidental recursive pool calls (a slot invoking pool_run on itself).
Default: true.
worktree_base_dir: Option<PathBuf>Base directory for git worktrees (chains and slot isolation).
Defaults to .claude/pool-worktrees/ under the repo root, which keeps
worktrees within the project directory so Claude’s auto permission
mode can write to them. Override if you need worktrees elsewhere.
Trait Implementations§
Source§impl Clone for PoolConfig
impl Clone for PoolConfig
Source§fn clone(&self) -> PoolConfig
fn clone(&self) -> PoolConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more