Tool Presets
The fastest way to configure tools is using presets—predefined tool bundles optimized for common agent patterns.Standard (Default)
Balanced tool access suitable for most automation workflows. Includes read/write file operations, SQL queries, bash commands, and git operations.Includes:
- File operations: read, write, edit, search
- SQL execution with read-only default
- Bash commands (restricted to safe list)
- Git operations: commit, push, PR creation
- Metadata retrieval for profiling
This preset works for 80% of agents. Start here unless you have specific security requirements.
Safe
Read-only access for agents that analyze and report but shouldn’t modify anything.Includes:
- File reading only (no writes)
- SQL queries (strictly read-only)
- Metadata retrieval
- PR commenting (no commits or file changes)
- Directory listing and search
- Code review agents
- Audit and compliance checks
- Monitoring and alerting
- Report generation
Unrestricted
Full tool access including potentially destructive operations. Use with caution.Includes:
- Everything in
standard - File deletion capabilities
- Destructive git operations (force push, branch deletion)
- Unrestricted bash command execution
- Database write operations
Only use this preset for agents that explicitly need destructive capabilities. Apply additional restrictions to limit scope.
Reference
File Operation Tools
Read contents of files in the repository.Capabilities:
- Read any file within allowed paths
- Supports binary and text files
- Can read multiple files in parallel
- Subject to
files.allowandfiles.denypaths - Cannot read files outside repository
Create new files in the repository.Capabilities:
- Create files in allowed paths
- Set file permissions
- Create parent directories as needed
files.can_create_files: truein restrictions- File path must match
files.allowpatterns
Modify existing files using search-and-replace operations.Capabilities:
- Find and replace text patterns
- Multi-line edits
- Preserve file formatting
- Cannot edit files in
files.denypaths - Cannot edit files marked as
critical_fileswithout approval
Perform multiple edits across several files in a single operation.Use for:
- Batch refactoring operations
- Consistent changes across many files
- Performance optimization (fewer tool calls)
Remove files from the repository. Only available with
unrestricted preset or explicit inclusion.Requires
files.can_delete_files: true in restrictions. Deletion is permanent in the agent’s working tree.Data Access Tools
Execute SQL queries against connected data warehouses.Capabilities:
- Run SELECT queries for analysis
- Join across schemas (within allowed schemas)
- Aggregate and transform data
- Read-only (SELECT, WITH, SHOW only)
- Row limit enforced (default: 10,000)
- Timeout limit (default: 120 seconds)
- Schema restrictions if configured
Enable write operations carefully. Most agents should stay read-only.
Get table and column statistics without running queries.Returns:
- Table row counts
- Column names and types
- Null percentages
- Distinct value counts
- Min/max for numeric columns
- Faster than SQL queries
- Lower warehouse cost
- No query timeout issues
Code Search Tools
Search file contents using regular expressions.Use for:
- Finding specific code patterns
- Locating model references
- Searching documentation
Find files matching path patterns.Examples:
models/**/*.sql- All SQL files in modelsmodels/marts/**/dim_*.sql- All dimension models**/*.yml- All YAML files
List directory contents.Capabilities:
- List files and subdirectories
- Get file metadata (size, modified time)
- Recursive directory traversal
Command Execution Tools
Execute shell commands in the repository environment.Default allowed commands:
git- Git operationsdbt- dbt commandspython- Python scriptsnode- Node.js scriptscurl- HTTP requestsjq- JSON processing
rm- File deletionsudo- Privilege escalationdd- Disk operationsmkfs- Filesystem operations
Perform git operations: commit, push, create branches, open PRs.Capabilities:
- Create branches
- Commit changes with messages
- Push to remote
- Create pull requests via GitHub API
- Add reviewers and labels
git_operationsrestrictions- Branch naming requirements
- Approval gates if configured
Task Delegation Tools
Spawn sub-agents to work on subtasks in parallel.Use cases:
- Complex agents that need research phases
- Parallel analysis of multiple files
- Delegating specialized sub-workflows
Sub-agents inherit parent tool restrictions but can have their own prompts and context.
Restrictions
Apply fine-grained controls beyond preset defaults.File System Restrictions
Control which files and directories agents can access.
Git Operation Restrictions
Control git capabilities and requirements.
SQL Restrictions
Control database access and query capabilities.
Bash Configuration
Customize bash tool restrictions and allowed commands.
Critical Files Protection
List of files requiring approval before modification.Agents can read these files but must request approval to modify them.
Approval Gates
Require human approval for sensitive operations.
Examples
- Review-Only Agent
- Restricted Staging Agent
- Audit Agent with Approvals
- Documentation Generator
- Advanced Bash Configuration
review-only.yaml
Best Practices
Start Restrictive, Expand as Needed
Begin with the
safe preset and grant additional tools only when agents demonstrate the need.1
Start with safe preset
Deploy agents initially with read-only access:
2
Monitor agent behavior
Check run logs to see what operations the agent attempts but can’t perform.
3
Grant specific tools
Add only the tools needed:
4
Apply restrictions
Even with additional tools, restrict scope:
Layer Multiple Restrictions
Combine different restriction types for defense in depth:Protect Sensitive Data
Always deny access to credentials, secrets, and PII-containing files.
Use Approval Gates for High-Risk Operations
Require human review before agents perform sensitive actions:Scope SQL Access Appropriately
Read-only for most agents
Read-only for most agents
Keep
sql.read_only: true unless agent explicitly needs to write:Limit schemas accessed
Limit schemas accessed
Grant access only to schemas the agent needs:
Set query limits
Set query limits
Prevent expensive queries and runaway loops: