Documentation Index
Fetch the complete documentation index at: https://docs.poolside.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Usesettings.yaml to control what Poolside agents can do in your IDE and in the pool CLI.
For a complete reference of supported settings keys, see Settings file reference.
You can use it to:
- Allow or block specific tools
- Automatically approve or deny certain tool calls
- Limit which files agents can read or modify
- Run agents inside a sandbox with stronger runtime boundaries
How permissions work
Poolside permissions involve several layers. Each layer can restrict what an agent is able to do.| Layer | Managed by | What it controls |
|---|---|---|
| Role-based permissions | Administrators | What users can do in the organization |
| Agent configuration | Administrators or users | Which tools, Model Context Protocol (MCP) servers, repositories, and sandboxes an agent can use |
settings.yaml | Individual users or teams | Tool approvals, path rules, and local sandbox configuration |
| Sandbox | Administrators or users | Runtime file system and network boundaries |
settings.yaml to anything their role or the agent configuration does not already allow.
Prompt injection is possible whenever an agent consumes external input, such as code from third-party packages or external documentation. Treat agent actions with the same caution you would apply to running code you do not trust.
Main controls in settings.yaml
Most users interact with three configuration areas.
Other supported settings include personal MCP server configuration, secret rules, prompt defaults, and API connection settings. For the full schema, see Settings file reference.
| Setting | Purpose |
|---|---|
tools | Turn tools off or define auto-approval rules |
paths | Restrict which files the agent can read or modify |
sandbox | Run agents inside an isolated runtime environment |
- Tools decide what actions the agent can attempt
- Paths decide which files the agent can access through file tools
- Sandbox defines where the agent runs
tools and paths mainly control approvals and explicit file operations. They do not fully sandbox the agent. If you need an enforced runtime boundary, use a sandbox.The shell tool
Treat the shell tool as high risk. Shell commands can:
- Install software
- Modify files
- Run scripts
shell may read or modify files outside the restrictions defined in paths.
If you need strict file access controls, turn off shell or run agents inside a sandbox.
File locations
Poolside readssettings.yaml from three locations.
| File location | Use this for |
|---|---|
.poolside/settings.local.yaml | Personal, project-specific. Do not commit. Takes precedence over all other files. |
.poolside/settings.yaml | Shared, project-specific. Commit and share with your team. |
~/.config/poolside/settings.yaml | Personal defaults (all projects). Applies when no project-level settings override it. |
.poolside/settings.local.yaml.poolside/settings.yaml~/.config/poolside/settings.yaml
.poolside/settings.local.yaml is the right place for personal, project-specific restrictions.
Use ~/.config/poolside/settings.yaml for personal defaults across all projects.
For example settings files for each location, see Settings file reference.
Approvals
Approvals let you automatically allow or deny specific tool calls, which reduces repeated confirmation prompts when you trust certain operations. Rules:- If a tool call does not match an
allowrule, Poolside asks for approval. denyrules always overrideallow.
IDE approvals
In the IDE, you can:- Approve a tool call once
- Always approve a matching tool call
- Deny a tool call
.poolside/settings.local.yaml file.
To open the permissions settings file directly from the IDE, run /approvals in the chat panel or use the Poolside: Open Permissions Settings command.
Running commands without approval prompts
If you have theAuto Approve Commands permission, you can enable Execute commands without asking in Poolside Assistant to run most tool calls automatically without prompting for approval. This includes shell commands, file operations, and MCP tool calls.
The Auto Approve Commands permission applies to all agents in your organization and is off by default.
When you enable Execute commands without asking:
- Most tool calls run immediately without confirmation
- Poolside ignores approval allow rules
- Deny rules still apply
- Secrets are not auto-approved unless already authorized in your settings or earlier in the conversation
- In the prompt input box, type
/to open the Commands menu. - Under Settings, select Approvals, or type
/approvalsand press Enter. - Select the Execute commands without asking DANGEROUS checkbox.
pool command-line tool (CLI). For more information, see Run in automated mode.
Command-line tool approvals
In thepool command-line tool, tool calls require approval unless a matching allow rule exists in settings.yaml, or you have the Auto Approve Commands permission and pool runs with --unsafe-auto-allow=true.
When --unsafe-auto-allow=true is set:
- Tool calls run without prompts
- Deny rules still apply
Tool rules
Usetools to turn tools off or configure approval rules. File access tools such as read and edit are controlled by paths, not tools.
Tools example
- Tool rules support only
*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.
Path rules
Usepaths to control which files agents can access through explicit file tools.
Paths example for .poolside/settings.local.yaml or ~/.config/poolside/settings.yaml
- 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.
Read-only configuration
Read-only paths example for .poolside/settings.yaml
Read-write configuration
Read-write paths example for .poolside/settings.yaml
Protect sensitive files across projects
To block access to sensitive files in every project, add deny rules to your personal defaults file,~/.config/poolside/settings.yaml:
Protect sensitive files example for ~/.config/poolside/settings.yaml
deny rules always override allow.
Local sandbox
A sandbox creates a stronger runtime boundary. Sandbox workspace access supports two modes:read-only: tools can read files, and you review changes before Poolside applies themread-write: tools can modify workspace files directly
~/.config/poolside/settings.yaml file.
For managed local sandboxes, your sandbox can use any image your local Docker engine can pull or already has locally, including private images from registries Docker is already authenticated to. Poolside does not ask for registry credentials.
Sandbox example for ~/.config/poolside/settings.yaml
- container runtime image
- workspace file access
- extra host mounts
- network destinations
/sandbox.
Use volume mounts in local sandboxes
Use volume mounts to mount extra host paths into the sandbox. If your development workflow depends on host resources outside the workspace, add extra mounts undersandbox.filesystem.mounts.
For example, you can mount a persistent host cache directory, the local Docker socket, and a Docker config directory into the sandbox:
Volume mounts example for ~/.config/poolside/settings.yaml
/var/run/docker.sock gives processes inside the sandbox access to your host Docker daemon. Use that mount only when your workflow requires it.
Best practices:
- Use absolute host paths
- Put reusable build caches outside the workspace, then mount them into the sandbox
- Mount config directories as
read-onlyunless the tool must write to them - Do not mount a workspace directory again through
mounts - Choose a container image that already includes the tools your workflow needs
Use private or local images
For local sandboxes, Poolside uses your local Docker engine to resolve the sandbox image.Private image example for ~/.config/poolside/settings.yaml
- Use a private image only after Docker on your machine is already authenticated to that registry
- You can also use an image that you built or pulled locally
- Poolside does not provide a sandbox UI field for registry credentials
Glob reference
Tool rule syntax
| Pattern | Matches | Does not match |
|---|---|---|
go vet * | go vet, go vet -vettool shadow | go run |
gh * list * | gh pr list, gh gist list | gh list |
*matches zero or more characters including/**is not supported
Path rule syntax
| Pattern | Matches | Does not match |
|---|---|---|
/src/**/*.go | /src/main.go, /src/pkg/run.go | /other/src/main.go |
C:/**/bin/* | C:/Tools/bin/app.exe | D:/Tools/bin/app.exe |
*matches characters except/**matches across directories*:/Program Files/**matches any Windows volume