Agent runtime

Loma can drive the agent with two runtimes. You can mix them — pick a default and switch per conversation from the dashboard model picker.

OpenCode (default)

OpenCode is the default runtime and gives you open-source models such as DeepSeek V4 and GLM with no per-token API bill. The backend Docker image installs the opencode CLI automatically (official install script; local non-Docker installs can use the same script or npm install -g opencode-ai).

OPENCODE_API_KEY=opencode-...
AGENT_DEFAULT_MODEL=opencode-go/deepseek-v4-flash

OpenCode runs an app-managed local server (default 127.0.0.1:4097). If you manage OpenCode yourself, override the connection:

OPENCODE_HOST=...
OPENCODE_PORT=...
OPENCODE_SERVER_URL=...

If the agent fails to start, check the backend logs for a missing OPENCODE_API_KEY or OpenCode server did not become ready — usually missing credentials or blocked network access.

Claude account pool

Instead of (or alongside) OpenCode, you can pool your team’s Claude Code subscriptions. Connected Claude accounts are shared round-robin across everyone’s agent usage, so the team draws from subscriptions you already pay for rather than buying per-seat API access — subsidizing token cost. When an account hits a rate limit it’s put on a short cooldown and skipped until it recovers.

To use Claude as the default:

AGENT_DEFAULT_MODEL=anthropic/<model>
ANTHROPIC_API_KEY=sk-ant-...

Or connect Claude accounts from the dashboard so the pool draws from them. The Docker image also installs the claude CLI used by the pool.

Choosing a model

  • AGENT_DEFAULT_MODEL sets the default for new conversations and flows.
  • The dashboard chat has a model picker populated from a live catalog, so users can switch models per conversation (open models via OpenCode, or Claude when accounts are connected).
  • Flows record the model they run with, so you can mix cheap open models for high-volume automations and stronger models for complex tasks.