ReferenceConfiguration
vm0.yaml
Configuration file reference for VM0 agents
The vm0.yaml file defines your agent configuration.
Minimal Example
version: "1.0"
agents:
my-agent:
framework: claude-code
instructions: AGENTS.md
environment:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}Full Example
version: "1.0"
agents:
my-agent:
framework: claude-code
instructions: AGENTS.md
apps:
- github
skills:
- https://github.com/vm0-ai/vm0-skills/tree/main/hackernews
volumes:
- my-volume:/home/user/.config
environment:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
MY_VAR: ${{ vars.MY_VAR }}
volumes:
my-volume:
name: my-volume
version: latestTemplate values like ${{ secrets.X }} and ${{ vars.X }} are resolved from Platform-stored secrets and variables. Store them once with vm0 secret set or vm0 variable set, and they're automatically loaded on every run. See Environment Variables for details.
Top-Level Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
version | string | Yes | - | Configuration version. Currently "1.0" |
agents | object | Yes | - | Map of agent definitions |
volumes | object | No | {} | Map of volume definitions |
Agent Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
framework | string | Yes | - | Agent framework: claude-code (default) or codex (experimental). See Model Selection |
instructions | string | No | - | Path to instruction file (e.g., AGENTS.md). See Instructions |
apps | array | No | [] | Pre-installed tools. Supported: github, github:dev, github:latest |
skills | array | No | [] | List of skill URLs. See Skills |
volumes | array | No | [] | Volume mounts in format name:path. See Volume |
environment | object | No | {} | Environment variables. See Environment Variables |
Volume Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | - | Volume name (must match .vm0/storage.yaml) |
version | string | Yes | - | Version to use (e.g., latest or version hash) |