islo.yaml Configuration
The islo.yaml file defines project-level sandbox configuration. Place it in your project root.
Create Configuration
Generate a configuration file with the setup wizard:
This interactive wizard creates islo.yaml, detects tools in your project, and optionally installs IDE hooks.
Full Schema
Configuration Fields
sandbox
Type: string
Required: No
Unique identifier for the sandbox. If not provided, the server generates a name.
Constraints:
- Alphanumeric characters and hyphens only
- Must be unique across your sandboxes
- Case-sensitive
image
Type: string
Required: No (defaults to python:3.12-slim)
Docker image to use for the sandbox. Should be a fully qualified image reference.
Pre-pulled images (recommended for fast startup):
cpus
Type: integer
Required: No
Number of virtual CPUs allocated to the sandbox.
memory_mb
Type: integer
Required: No
Memory allocation in megabytes.
disk_gb
Type: integer
Required: No
Disk space allocation in gigabytes.
workdir
Type: string
Required: No
Working directory inside the sandbox. Commands and agent sessions start in this directory.
If not specified, defaults to /workspace or the root of the cloned repository.
sources
Type: array
Required: No
Git repositories to clone into the sandbox. Supports GitHub shorthand and HTTPS URLs.
Formats:
Repositories are cloned during sandbox creation. Use islo init to detect and add sources from your current directory.
gateway_profile
Type: string
Required: No
Gateway profile name for network policy and authentication. Gateways control how your sandbox connects to external services.
When a gateway profile is configured:
- Network policies control which external endpoints your sandbox can reach
- Authentication is handled transparently at the host level (credentials are never exposed in the sandbox)
- Traffic can be routed through specific endpoints
See Gateways for more details.
env
Type: object
Required: No
Environment variables to set in the sandbox.
user
Type: string
Required: No
Username to run sandbox commands as. Defaults to islo (non-root).
tools
Type: object
Required: No
Development tools to install in the sandbox. Each tool can specify version and lifecycle tasks.
Tool configuration options:
For details on how tools are detected and installed, see Tools Lifecycle.
tools_auto_detect
Type: boolean
Required: No (defaults to true)
Whether to auto-detect tools from project files. Set to false to only use explicitly configured tools.
Adding Tools
Use islo add to manage development tools:
Example Configurations
Minimal Python Project
Full CI Environment
Web Development
Git-Based Workflow
This configuration clones two repositories and sets the working directory to the backend repo.
Configuration Precedence
Configuration is resolved in this order (later overrides earlier):
- Default values
islo.yamlin project directory- Environment variables (
ISLO_*) - CLI flags (
--cpus,--memory, etc.)
Environment Variables
These environment variables override islo.yaml settings:
Validation
Islo validates configuration on sandbox creation. Common errors:
Validate Configuration
Check your configuration with:
This shows your current auth state, configuration from islo.yaml, and detected tools.