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.
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
| Provider | How it runs | Write access |
|---|---|---|
| Claude Code | Spawns the local claude binary | None during design |
| Codex CLI | codex exec --json, per completion | Sandbox read-only |
| Cursor CLI | Not available for Design | Not applicable |
| OpenCode | Not available for Design | Not applicable |
Questions
Related
- Design to CodeNot generated components you then have to rewrite. A reference, and an agent that knows your codebase.
- Responsive Preview at Mobile WidthStated plainly because the buttons imply more than they do: these are viewport widths, not platforms.
- AI Landing Page DesignA real page you can open and click, not a picture of one.
- Wireframe to High FidelityA finished-looking mockup gets reviewed as a design. A rough one gets reviewed as a structure.
Last updated