Skip to main content

Configuring Shells

Learn how to configure execution shells for your agents.

Understanding Shells

Shells provide the execution environment for agents to run commands and interact with the system.

Shell Types

TypeDescriptionUse Case
localLocal system shellDevelopment
dockerDocker containerIsolated execution
sshRemote SSH shellRemote servers
sandboxRestricted sandboxUntrusted code

Configuration

Local Shell

shell:
type: local
working_dir: /path/to/project
env:
PATH: ${PATH}:/custom/bin

Docker Shell

shell:
type: docker
image: python:3.9
volumes:
- ./src:/app
env:
DEBUG: "true"

SSH Shell

shell:
type: ssh
host: server.example.com
user: deploy
key_file: ~/.ssh/id_rsa

Security Settings

shell:
type: sandbox
permissions:
file_read: true
file_write: false
network: false
process: false

Best Practices

  • Use sandboxed shells for untrusted operations
  • Limit permissions to what's needed
  • Set appropriate timeouts
  • Monitor shell activity