Skip to main content
The environment assistant builds and edits the world your robots live in. You describe the scene, for example “a workbench with an SO-101, a camera above it and two bins”, and it finds the right twins in the catalog, places them and proposes the changes for you to accept. When nothing in the catalog fits, it can generate a new asset.

What it does

Generated assets start private and scoped to the environment that asked for them. Sharing them further follows the normal asset visibility controls.

Use it in the editor

  1. Open an environment and select Agent in the right-hand panel.
  2. Describe what you want. Tag scene objects or attach a reference image if it helps.
  3. Review what the assistant proposes, then accept it.
The conversation stays the same when you switch between Edit and Monitor in Simulate or Live, within the same page session. Unsent drafts, tagged objects and reference images are kept when you visit Control and come back. In Monitor, action cards are read-only, and switching to Monitor asks the assistant to stop unfinished edits without stopping running robots or training jobs. To act on the robots themselves, use the control agent; it has its own composer. More on the editor: Environment editor.

Use it from Python

message() also accepts the conversation history, a pending_confirmation to answer, and an image (image_base64, image_mime_type) as a reference.

From your AI tools (MCP)

With the MCP server, Claude Code, Cursor or any MCP client can plan a scene with cw_plan_scene and create environments with cw_create_environment. cw_plan_scene is advisory: it returns a plan and checks, and changes nothing.

Next steps

Control agent

Once the scene is ready, tell the robots what to do.

Generate assets with the assistant

Build stages, revisions and limits for generated URDF assets.