A workspace is where one piece of work lives — attach the repositories it touches, any Domains with relevant background, and every conversation thread you start from it.
Activating a workspace checks out its own isolated copy of each attached repository, so whatever an agent does there never touches your main checkout until you're ready for it to. Attach the same repository to several workspaces and each one still gets its own worktree and branch — so entirely different work can move forward on the same codebase at once, safely, without one workspace's changes ever colliding with another's.
Inside a workspace, five tabs cover everything: Overview for its basic setup, Threads for every conversation you've had, History for a running diff of everything changed so far (see Diffs, history, and editing files directly), Files for browsing and editing directly, and Settings for the finer points — nesting under a parent workspace (see Organizing bigger projects with phases), sharing another workspace's checkout, and more.
Opening a thread and sending a message starts a live conversation. You'll see the response stream in as it's generated, with any resulting code change shown right there as a diff.