# OpenHands on ORB Cloud

OpenHands uses LiteLLM. Reads `LLM_BASE_URL` from config or env vars.

## orb.toml

```toml
[agent]
name = "my-agent"
lang = "binary"
entry = "/bin/bash"
args = ["/root/start.sh"]

[agent.env]
HOME = "/root"
LLM_MODEL = "anthropic/claude-sonnet-4-20250514"
LLM_API_KEY = "${LLM_API_KEY}"

[build]
steps = [
  "curl -fsSL https://install.openhands.dev/install.sh | sh",
]

[llm]
base_url = "https://api.anthropic.com"

[resources]
runtime = "4GB"
disk = "8GB"
```

## How it works

ORB sets `ANTHROPIC_BASE_URL` and `OPENAI_BASE_URL` automatically. OpenHands via LiteLLM picks these up for Anthropic and OpenAI models.

For explicit control, set in your OpenHands settings:

```json
{
  "llm": {
    "base_url": "http://127.0.0.1:8080"
  }
}
```

## OpenRouter

```toml
[llm]
base_url = "https://openrouter.ai/api/v1"
```

ORB sets `OPENAI_BASE_URL=http://127.0.0.1:8080`. LiteLLM reads it.
