Teach your robot by typing.

The LLM harness and runtime for robots — the agent writes each skill once, episodic memory sharpens it with every attempt, and it runs on the runtime with zero model calls.

0 model calls

when a taught skill runs.
The cloud never drives.

control roomSTOP
steps · live as it works0/5
01Read where the red parts sitprimitive
02Move right arm above partprimitive
03Close gripper, confirm graspprimitive
04Carry to left bin, releaseprimitive
05Verify, log the episodememory

✓ saved · sort_red_parts · your robot knows 15 tasks

Type it. Your robot learns it.

Describe the task in plain English. The agent works it out step by step while you watch each one land, then saves the skill on the runtime — where it runs as deterministic code with zero model calls. Every attempt is logged to episodic memory, so your robot gets better at your tasks.

Teach

A hosted chat window for your robot — type the task, watch every step as the agent works.

Remember

Episodic memory on the runtime: every attempt logged, every failure a lesson the agent recalls.

Run local

Taught skills execute as deterministic code on the runtime, with zero model calls per run.

Own it

Your skills, your data, your model key. Bring your own model, VLA backend, and robot.

wipe down the bench, then stack the cups
Two skills, then. I already know wipe_surface— I’ll reuse it and author stack_cups. Watch each step in the trace as I work.
Teach your robot…Teach

Type the task. Watch it work. Run.

BotCortex is a hosted chat window for your robot — no code editor, no API, no robot programmer. The agent writes the skill once, and you watch every step it takes, generated code included, as it works.

See it live
memory/episodes.jsonlmemory
  • 14:02failgrasp slipped — cup wall thinner than expected
  • 14:04faillesson: approach 8° steeper, close to −38°
  • 14:06okstack_cups v2 — 5/5 grasps held

recalled at teach time · up to +35% in RoboInspector’s evaluated setting (arXiv 2508.21378) — not a BotCortex measurement

Every failure makes the next attempt smarter.

Every attempt is written to episodic memory on the runtime — what ran, what broke, what the lesson was — and recalled the next time you teach. In RoboInspector's evaluated setting, feeding failure diagnostics back improved manipulation success by up to 35%; we have not yet measured our own uplift.

Read the research
cloud round-trip, P993–5 s
taught skill, model calls per run0
deterministic code on the runtime · STOP always on screenSTOP
today:primitiveplanned:policyvlahuman

No cloud in the control loop.

Cloud round-trips can spike to seconds, so the model never sits in the control loop. Taught skills run as deterministic code on the runtime with zero model calls — joint limits clamped, STOP always on screen. Every robot today is a simulation twin; hardware motion is not yet wired.

Book a demo

~/.openhorizon/config.toml

[brain]
model = "claude-opus-4-8"     # your key

[hands]
vla = "pi0"                 # or groot, none

[robot]
platform = "openarm_v1"
skills_dir = "~/.openhorizon/skills"

Your skills, your data, your model key.

Skills and failure logs live on your runtime and belong to you — not to a shared library in someone else's cloud. Bring your own model key or teach with metered BotCortex credit; bring your own VLA backend and your own robot — free on a single machine.

Follow on GitHub

Priced per robot. Taught skills run free.

The old way is an integrator quote: $19,000–$80,000 per task. This is the new way.

Free

available first
$0everything included
  • The full runtime, hosted chat app, and SDK for one robot
  • Skills and episodic memory stored on your runtime
  • Bring your own model key, or teach with metered BotCortex credit — taught skills run free
Create an account

Pro

not launched
$200per robot, per month
  • Memory backup and sync across your robots
  • Fleet dashboard, remote access, and shared fleet learning
  • Private skill repos for your team
Create an account

Teaching with BotCortex credit is metered by model usage; running a taught skill costs nothing. An expired subscription never stops your robot.

Teach your robot its first task tonight.

Create an account and a simulated arm boots in your browser — no hardware needed. Bring the job you’ve been putting off.