settings.yaml to configure how Poolside behaves in the pool CLI.
This page is a reference for the top-level settings you can define in Poolside settings files. For task-based guidance, see the related feature pages linked from each section.
File locations and precedence
Poolside readssettings.yaml from three locations.
When the same setting appears in multiple files, the most specific file usually takes precedence:
.poolside/settings.local.yaml.poolside/settings.yaml~/.config/poolside/settings.yaml
Top-level settings
Poolside settings files support the following top-level keys.pool settings
Use pool to configure the saved API connection and CLI launch settings.
The CLI reads pool settings only from ~/.config/poolside/settings.yaml.
POOL_AUTO_MODE_CLASSIFIER_MODEL overrides pool.auto_mode_classifier for the current process. An explicitly empty value disables Auto mode even when the personal settings file configures a classifier.
Poolside still accepts a top-level
api_url key for compatibility, but use pool.api_url in new settings files.Tools
Usetools to turn off tools or configure approval rules.
Each tool key can include:
The
allow and deny lists combine across all settings files.
Poolside enables tools by default. If any settings file sets disabled: true for a tool, Poolside disables that tool. Another settings file cannot enable it with disabled: false.
Tools example for .poolside/settings.yaml
Tool rule syntax
- Tool rules support
*wildcards.**is not supported. - The rule string must match the tool call shown in the approval prompt.
Paths
Usepaths to control which files agents can access through explicit file tools.
paths supports:
Each path entry supports:
The
allow and deny lists combine across all settings files.
Paths example for .poolside/settings.yaml
Path rule behavior
- Poolside treats paths as read-only by default.
write: trueallows edits, deletes, moves, and renames.denyoverridesallow.- Path patterns support
*and**. - Use forward slashes for all paths, including Windows paths.
- Windows-volume paths do not match on Linux, and Linux paths do not match on Windows.
*:/Program Files/**matches any Windows volume.- In
.poolside/settings.local.yamland~/.config/poolside/settings.yaml, paths must be absolute or start with~. - In
.poolside/settings.yaml, paths must be relative to the project.
Secrets
Usesecrets to configure secret approvals, fallback default redaction patterns, and user redaction patterns.
The
allow and redact_patterns lists combine across all settings files.
Each redact_patterns entry supports:
Secrets example
MCP servers
Usemcp_servers to configure personal MCP servers in your settings file.
Each server entry can include:
transport supports:
MCP servers example for .poolside/settings.yaml
Sandbox
Usesandbox to configure local sandbox behavior for user-managed runs.
Sandbox settings include:
Sandbox example for ~/.config/poolside/settings.yaml
Use
allowed_domains, allowed_cidrs, or both under network.egress.
Use env_vars to pass string environment variables into the sandbox container.
Use secrets to list the names of secrets that the sandbox can request. For more information, see Secrets.
For filesystem.mounts:
hostmust be an absolute path on the hostsandboxmust be an absolute path inside the container- Mount targets must be unique
- Host mount paths cannot overlap with workspace directories already mounted by Poolside
Web search
Useweb_search to configure the search provider for web_search and enhanced web_fetch content extraction. The web_fetch tool works by default with no configuration. The web_search tool activates after you set a provider and an API key.
Web search example for ~/.config/poolside/settings.yaml
api_key in a personal settings file, not in shared project settings. For more information, see Web search and fetch.
Hooks
Usehooks to run commands at six agent lifecycle events: PreToolUse, PostToolUse, UserPromptSubmit, PreCompact, SessionStart, and Stop.
The hooks section supports these keys:
Each hook entry supports these keys:
Event lists combine across settings levels from least specific to most specific, which is also their run order. See hook configuration levels and merge order. A named hook declared again replaces the earlier definition in its original position. Unnamed hooks combine.
Hooks example for .poolside/settings.yaml
Subagents
Usesubagents to configure agents that the main Poolside agent can delegate work to.
Subagent definitions merge across settings levels. More specific scalar values override earlier values, while
env and session_config_options combine by key. Changing type clears launch fields from the previous type.
Subagents example for .poolside/settings.yaml
Agent servers
Useagent_servers in ~/.config/poolside/settings.yaml to configure ACP-compatible agent servers that pool can launch or connect to with --agent-server or -s. For these options, pool reads agent server configuration only from personal settings.
Subagents are the exception. When a subagent uses type: agent_server, Poolside also reads agent_servers from project settings files to resolve the reference.
When pool starts, it migrates legacy ~/.config/poolside/pool.json agent server configuration into settings.yaml and removes pool.json.
Each agent_servers entry must set either command for a local stdio server or url for a remote network server. Do not set both. Use args and env with command; use headers with url.
Set
pool.default_agent_server to the agent_servers key that pool should use when you do not pass --agent-server.
Agent server example for ~/.config/poolside/settings.yaml
Example settings files
Personal defaults (all projects):Personal defaults example ~/.config/poolside/settings.yaml
Personal project-specific example .poolside/settings.local.yaml
Shared project-specific example .poolside/settings.yaml