Use OpenCode as the engine.
The open-source option, and the only engine that talks HTTP rather than stdio.
Selecting OpenCode makes Lucid Train run `opencode serve` and connect to it over local HTTP with server-sent events for streaming, which is the one engine here that is not stdio. OpenCode is open source and provider-agnostic, so it is the natural choice if you want the harness on top of a model you have chosen yourself. It drives coding tabs; Design mode has no OpenCode provider.
A local server rather than a pipe
`opencode serve` binds a local HTTP endpoint and streams events back over SSE. The practical difference from the stdio engines is small at this level, since the process still starts and stops with your session and still runs on your machine, but it is worth knowing when you are reading a process list and wondering what is listening.
Whose credential is used
On this route Lucid Train never sees the credential. It looks for the binary on PATH, spawns it as a child process, and speaks its protocol. Authentication is whatever that CLI already did when you signed into it, so the entitlement stays between you and the vendor and nothing is proxied, replayed or re-signed.
Provider-agnostic underneath
OpenCode does not tie you to one model vendor, which makes this pairing the closest thing here to running the harness over a model you fully control while still using someone else's agent loop. If you would rather not run a third-party agent loop either, the bundled Lucid engine against local Ollama removes that layer too.
The two engine lists
One thing worth separating, because the two lists genuinely differ: the engine that runs a coding tab and the provider that powers Design mode are chosen independently. Coding tabs accept Claude Code, Codex, Cursor CLI and OpenCode. Design mode accepts Claude Code and Codex only. Picking Cursor for your coding tab does not move Design onto Cursor, because there is no Cursor provider behind that canvas.
What the harness still owns
Approval tiers, the diff review gate and the diagram handoff are Lucid Train's regardless of engine, because they sit between you and whatever the agent proposes rather than inside the agent. That is the part that does not change when you switch the engine underneath.
What the engine picker needs
| Value | |
|---|---|
| Binary on PATH | opencode |
| Install | npm i -g opencode-ai |
| Sign in | opencode auth login |
| Transport | opencode serve, local HTTP and SSE |
| Drives Design mode | No |
| API key needed by Lucid Train | None |
Questions
Related
- Run Lucid Train on OpenRouterOne key, many models, and the only route here that lets you split Plan, Edit and Vision across different providers.
- Run Lucid Train on a Claude or ChatGPT SubscriptionNeither route asks you for an API key. One of them is a supported integration and one of them is interop; the difference matters.
- Run Lucid Train on Claude CodeThe same binary you already run in a terminal, driven from a window that also has your diagrams, your dependency audit and your dashboards in it.
- Run Lucid Train on the Codex CLIJSON-RPC to a local app-server, and the only engine besides Claude Code that can also drive the design canvas.
Last updated