Design

Design on the CLI subscription you already have.

No second subscription for the design tool, because it is running the one you already pay for.

Download for macOS
v0.1.33 · .dmg · Apple Silicon & Intel
Signed & notarized by Apple · opens without a Gatekeeper warning
sha256 698955a0187bc039f4c74f5d05a9f10fbb27376a45788a0a241d1326b73873c7
Download for Windows instead
$curl -fsSL https://lucidtrain.com/install.sh | sh

Design mode is powered by a CLI already on your machine rather than by a hosted service. Choosing Claude Code spawns the local claude binary; choosing Codex runs codex exec with the sandbox set to read-only and approvals set to never, so a design turn can read your project for context but cannot write to it. Either way Lucid Train never handles the credential: the binary authenticates itself with the login you gave it. Cursor CLI and OpenCode drive coding tabs but cannot drive Design.

The credential never passes through us

Lucid Train finds the binary on PATH and spawns it. Whatever entitlement that program has is between you and its vendor, and nothing is proxied, converted between request formats or replayed through a shim. That distinction matters beyond privacy: the workarounds circulating for using one vendor's subscription inside another vendor's tool generally are not permitted by the terms those subscriptions carry.

Design runs read-only on Codex by construction

The Codex provider is invoked per completion with the sandbox set to read-only and approvals never. A design turn should be able to read the project to understand what it is designing for, and should never be able to edit it. That is enforced at the process level rather than by instruction, which is the only version of that guarantee worth having.

Two provider lists, deliberately different

The engine running a coding tab and the provider running Design are chosen separately, and the lists are not the same. Coding tabs take Claude Code, Codex, Cursor CLI and OpenCode. Design takes Claude Code and Codex. Selecting Cursor for your coding work does not move Design onto Cursor, because there is no such provider behind the canvas.

Changing provider restarts the engine

The design engine builds its provider once at startup, so switching respawns the sidecar. It takes a moment and is worth knowing so it does not look like a hang. One consequence: a root config file in your workspace that names a provider will override the in-app picker, which is a real footgun if you have one lying around.

Design providers

ProviderHow it runsWrite access
Claude CodeSpawns the local claude binaryNone during design
Codex CLIcodex exec --json, per completionSandbox read-only
Cursor CLINot available for DesignNot applicable
OpenCodeNot available for DesignNot applicable
FAQ

Questions

Do I need an API key to use Design?

No. It runs a CLI that is already installed and already signed in. The key, if there is one, belongs to that CLI.

Can Design run on Cursor CLI or OpenCode?

No. Those drive coding tabs. Design has its own provider list with Claude Code and Codex on it.

Can a design turn modify my repository?

On Codex it cannot: the process runs with a read-only sandbox. Design is a generate-and-refine loop rather than an editing one.

Why did my provider choice not stick?

Most often a config.toml in the workspace root naming a provider, which takes precedence over the picker. Removing or editing that file resolves it.

Related

Last updated