ProliferateDocs
Join the beta

Cowork and Artifacts

A Cowork thread is a conversation surface where an agent works alongside you and hands back renderable artifacts, without provisioning a repository, branch, or diff.

A Cowork thread is a place to talk to an agent and get back things it can show you, rather than a checkout it commits to. Start from a question or an idea; whatever the agent produces appears beside the conversation as an artifact.

There is no repo to choose. With workspace delegation on, a thread can create coding workspaces and send agents into them. Use a workspace directly when the output should be code someone reviews and merges.

Careful

A Cowork thread starts the agent at its most permissive mode (Bypass for Claude, full-access for Codex), so it acts without per-command approval. There is no diff to check first, only the transcript and artifacts after.

Artifacts#

An artifact is renderable content, shown in its real form in the artifact panel rather than as code in the transcript. Four kinds render:

  • Markdown for formatted prose with links, lists, and inline code.
  • HTML documents, rendered in their own nested frame.
  • SVG vector graphics, sanitized before they render.
  • React components, compiled at runtime and run in a sandboxed frame with a curated set of libraries.

Each artifact is one file, tracked by a manifest the agent's tools manage. PDFs, images, JSON, and other binaries do not render.

The panel#

The panel lists every artifact in the thread. They belong to the thread, not to a turn, so an earlier one stays open-able after later ones arrive. That is what makes "show me three approaches" work.

The viewer#

React and HTML artifacts run in a sandboxed iframe served by the runtime. If the preview runtime is unreachable the list still works, it just cannot render.

React artifacts run against React 19 with a fixed import list: Lucide, Recharts, D3, date-fns, lodash. Anything outside it fails with an error in the viewer rather than quietly reaching the internet.

Careful

Artifact code cannot make network requests: fetch, XHR, and WebSocket are blocked. The runtime loads libraries from a pinned allowlist, and an artifact cannot add to it. The one thing it can do outside its frame is ask to open a link, which you see and control.

The sandbox is an isolation boundary, not a full security boundary. Read the source before trusting an artifact that behaves oddly.

When to use which#

Cowork threadWorkspace
You start froma question, an idea, a plana repository
The output isa conversation and artifactsa branch, diff, and pull request
Best fordemos, diagrams, drafts, one-off answerscode changes you'll review and merge

Starting one#

Start one from the home composer. Threads sit in the sidebar next to your workspaces, and the toggle-cowork-threads shortcut opens the list.