orb.toml Config Reference

The orb.toml file describes your agent — what it is, how to build it, what ports to expose, and which LLM providers it uses.

Full Example

toml

[agent]
name = "my-agent"
lang = "node"
entry = "index.js"
args = ["--port", "3000"]

[agent.env]
HOME = "/root"
NODE_ENV = "development"

[source]
git = "https://github.com/you/your-agent"
branch = "main"

[build]
steps = [
  "npm install",
  "npm run build",
]
working_dir = "/agent/code"

[backend]
provider = "anthropic"

[ports]
expose = [3000]

[resources]
runtime = "2GB"
disk = "8GB"

Sections

[agent] (required)

FieldTypeRequiredDescription
namestringyesAgent display name
langstringyesnode, python, binary, go, rust
entrystringyesEntry point (script path or binary path)
args[string]noCLI arguments passed to the agent

Language behavior:

[agent.env]

Key-value environment variables set for the agent process.

toml

[agent.env]
HOME = "/root"
API_KEY = "${MY_SECRET}"

${VAR} syntax resolves from org secrets (passed at deploy time).

[source]

FieldTypeRequiredDescription
gitstringyesHTTPS URL to git repo
branchstringnoBranch to clone (default: main)

Only HTTPS URLs are allowed. The repo is cloned into /agent/code inside the computer.

[build]

FieldTypeRequiredDescription
steps[string]yesShell commands to run in order
working_dirstringnoDirectory to run build steps in (default: /agent/code)

Each step runs via bash -c inside the sandbox with network access. Steps have a 10-minute timeout each.

Available during build:

[backend]

FieldTypeRequiredDescription
providerstringyesanthropic, openai, google, multi, custom

Provider presets:

For custom routing, add api_base and routes:

toml

[backend]
provider = "custom"
api_base = "https://openrouter.ai/api"
routes = ["POST /v1/chat/completions"]
forward_headers = ["authorization", "content-type"]

[ports]

toml

[ports]
expose = [3000, 8080]

Ports listed here are mapped to public URLs at {computer-short-id}.orbcloud.dev. The first port in the list is the default when accessing the subdomain.

[resources]

toml

[resources]
runtime = "2GB"
disk = "8GB"