Baltor Get started
Get set up

Run Baltor on your own computer.

One downloadable container includes OpenCode, the Baltor harness, Python, Node.js and Git. Your project and model access stay with you.

Download and check the image

Install Docker, then pull the worker and check its installation. No model or provider key is included.

docker pull ghcr.io/alisonjieli-png/loop-engine:main
docker run --rm --read-only --cap-drop ALL --security-opt no-new-privileges \
  --tmpfs /tmp:rw,nosuid,size=512m \
  ghcr.io/alisonjieli-png/loop-engine:main doctor --format json

Download the Compose configuration. Save it beside a new project folder. On Linux, set BALTOR_UID and BALTOR_GID to your user and group IDs before mounting your own files. The current published image is Linux amd64; Docker Desktop can use that platform on other supported computers.

Run a task with your own model

Put your instructions in project/task.md. Supply your provider key through your local environment. This example selects an Ollama Cloud model and allocates thirty model calls.

docker compose run --rm --entrypoint baltor-worker worker \
  --task /work/task.md --provider ollama_cloud --model gemma4:31b \
  --harness baltor --max-model-calls 30 --max-passes 4 \
  --authorize-project-commands

Choose --harness opencode for OpenCode, or --harness gateway for the direct provider route. Each run gets a new folder under project/baltor-runs, with its artifacts and saved history. Project commands require the explicit flag above; use it for work you trust inside the mounted project.

Fresh steps, controlled continuation

The container profiles start a fresh process, home and configuration for each modelled step. Provider credentials stay in the parent broker. The engine can plan additional work and dependency-bound subproblems as a task proceeds, within the same remaining authority and call allowance.

Docker isolates the whole worker. These profiles do not promise a separate operating-system sandbox for every process. Native harness tools are disabled in the brokered profile; the engine owns actions and acceptance. The existing namespace profile remains a separate option on a compatible host.

Read the worker operating guide. Connecting to the hosted library uses a separate personal Baltor client key; downloading this worker does not include a library subscription or model usage.