kapso evolve will stop in seconds rather than fail deep inside a run.
Prerequisites
Install Kapso
1
Install and log in to the coding-agent CLIs
2
Add an OpenAI key for embeddings
Create a This key is used only to embed text for knowledge search and memory. Generation runs through the CLIs above.
.env file in the directory you will run Kapso from:3
Install the package
leeroo-kapso. The PyPI package named kapso is an unrelated WhatsApp tool that installs a kapso command of its own and shadows this one; if it is present, pip uninstall kapso first.To work from a source checkout instead:4
Verify the machine is ready
[OK ] before you run anything else.How do I check my setup?
kapso doctor reports what your config requires, and names one fix for anything missing:
doctor cannot disagree with what a run will do. The command exits non-zero when a required item is missing, which makes it usable in CI.
What the markers mean
Each failing item prints up to three lines:
reason for what is wrong, needed by for the config key that wants it, and fix for the command that resolves it.
How do I check just one command’s requirements?
Name a verb to narrow the report to that verb’s own requirements. Requirements follow your config, so a verb that never calls Codex is never asked for it:research, learn_knowledge, evolve, learn and deploy. With no verb, doctor reports the union of all five.
How do I confirm my models are actually reachable?
Add--models to fire a one-token live call per configured CLI and model pair. A revoked login, or a model your plan does not include, surfaces here in seconds instead of hours into a campaign. A usage cap on a model you can serve does not: a one-token probe passes until the cap is hit.
--models spends a small number of real tokens. The plain doctor makes no model calls.Using API keys instead of a CLI login
Each agent block in the config carries anauth_mode. The shipped default is oauth, which uses the CLI’s own stored login:
For non-interactive environments such as CI, put a token in
.env instead of logging in:
Optional: Knowledge-graph backends
learn_knowledge() and kapso index_kg store into a local Weaviate and Neo4j. Both run in Docker. From a source checkout:
kapso doctor reports both as Weaviate (localhost:8080) and Neo4j (localhost:7687) when your config enables knowledge search.
Optional: Benchmarks
The benchmark harnesses live in the source checkout underbenchmarks/ and each needs its upstream repository installed first.
- MLE-Bench
- ALE-Bench
- RelBench
Optional: Leeroopedia MCP
Leeroopedia is a curated knowledge base of ML and AI frameworks. Kapso agents query it during ideation and implementation to look up APIs, build plans and diagnose failures..env:
Troubleshooting
doctor says a CLI is missing but I just installed it
doctor says a CLI is missing but I just installed it
Global npm binaries have to be on your If
PATH. Confirm the shell can see them:npm install -g wrote somewhere outside your PATH, npm prefix -g shows where.doctor says a CLI is not authenticated
doctor says a CLI is not authenticated
The login is stored per machine and expires. Re-run it:Codex stores its login at
~/.codex/auth.json. Claude Code answers claude auth status.Weaviate or Neo4j will not start
Weaviate or Neo4j will not start
Check the container logs:Ports 8080, 50051, 7474 and 7687 must be free. If one is taken, change the mapping in
services/infrastructure/docker-compose.yml.A run fails partway through on a model error
A run fails partway through on a model error
Probe the models directly with
kapso doctor evolve --models — see How do I confirm my models are actually reachable?Working through a coding agent
If Claude Code, Codex or OpenCode will be running Kapso for you, copy the Kapso skill into the project as well. It has the agent runkapso doctor first, name the right package, and launch campaigns in the background with the handoff you need.
Related
Quickstart
Run your first campaign
CLI reference
Commands, modes and flags
Kapso skill for coding agents
Let your coding agent run Kapso correctly
pip install leeroo-kapso · Every page as plain text: llms.txt.