Lab Agent runs on your machine. Lab Code is the terminal; the desktop is the same engine with a shell. Workspaces, tools, and permissions stay local — not a chat UI wrapped around someone else's runtime.
01/Workspaces
Work stays where the files live.
Every session is bound to a folder on disk. A new chat stays a draft until you send, so it does not occupy a workspace with nothing in it. Reads, edits, and commands happen inside that project — on this machine — instead of in a thread with no directory.
02/Chat × tools
Talk in language. Change in diffs.
You describe the work in natural language. Lab Code reads, searches, edits, and runs commands. Changes show up as diffs you can inspect, written to the files you meant, not as a silent overwrite of the whole tree. The terminal and the desktop share that tool loop.
03/Permissions
You keep the last word.
Edits, commands, and anything hard to reverse wait for you. You stay on the loop: allow, deny, or change the instruction. The agent does not take the last decision in the background.