Skip to main content
Use 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 reads settings.yaml from three locations. When the same setting appears in multiple files, the most specific file takes precedence:
  1. .poolside/settings.local.yaml
  2. .poolside/settings.yaml
  3. ~/.config/poolside/settings.yaml

Top-level settings

Poolside settings files support the following top-level keys.

pool settings

Use pool to configure Poolside API connection settings and CLI launch settings.
Poolside still accepts a top-level api_url key for compatibility, but use pool.api_url in new settings files.

Tools

Use tools to turn tools off or configure approval rules. Each tool key can include:
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.
  • Subshells and composite shell commands always require manual approval.
  • Shell commands that use control operators such as | are not supported by auto-approval.
For more information, see Tool rules.

Paths

Use paths to control which files agents can access through explicit file tools. paths supports: Each path entry supports:
Paths example for .poolside/settings.yaml

Path rule behavior

  • Poolside treats paths as read-only by default.
  • write: true allows edits, deletes, moves, and renames.
  • deny overrides allow.
  • 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.yaml and ~/.config/poolside/settings.yaml, paths must be absolute or start with ~.
  • In .poolside/settings.yaml, paths must be relative to the project.

Secrets

Use secrets to configure secret approvals, fallback default redaction patterns, and user redaction patterns. Each redact_patterns entry supports:
Secrets example
For more information, see Secrets.

MCP servers

Use mcp_servers to configure personal MCP servers in your settings file. Each server entry can include: transport supports:
MCP servers example for .poolside/settings.yaml
For more information, see MCP servers.

Sandbox

Use sandbox to configure local sandbox behavior for user-managed runs. Sandbox settings include:
Sandbox example for ~/.config/poolside/settings.yaml
Supported values: 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:
  • host must be an absolute path on the host
  • sandbox must be an absolute path inside the container
  • Mount targets must be unique
  • Host mount paths cannot overlap with workspace directories already mounted by Poolside
For more information, see Local sandbox and Sandboxes. Use web_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
Keep api_key in a personal settings file, not in shared project settings. For more information, see Web search and fetch.

Agent servers

Use agent_servers in ~/.config/poolside/settings.yaml to configure ACP-compatible agent servers that pool can launch or connect to with --agent-server or -s. Agent server configuration is user-level configuration. pool does not read agent_servers from project settings files. 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
For more information, see Use other agent servers.

Example settings files

Personal defaults (all projects):
Personal defaults example ~/.config/poolside/settings.yaml
Personal, project-specific:
Personal project-specific example .poolside/settings.local.yaml
Shared, project-specific:
Shared project-specific example .poolside/settings.yaml