How it works · Workspace

Workspace.

The workspace is a personal file store for your AI conversations. Upload once, use across any conversation, any time. No re-uploading, no copy-paste, no lost context.

What the workspace is

When you attach a file to a single conversation, it exists only in that thread. The workspace is different: files you upload here are permanently stored and can be attached to any conversation without re-uploading.

Files in your workspace also become part of your project context. If a file is tagged to a project, any thread in that project automatically knows the file exists and can read it on demand.

Uploading files

Files can be added to the workspace in several ways:

  • Settings → Workspace — upload from the workspace panel directly
  • Drag and drop — drag a file onto the workspace panel
  • ZIP upload — upload a ZIP file and each file inside is extracted and saved individually
  • Automatically — when Claude creates a file during a coding session (write_file), it is automatically saved to the workspace and tagged to the current project

ZIP files

Uploading a ZIP extracts each readable text file inside and saves them as individual workspace entries. This means if you zip up a codebase, you get individual files for each source file — not one concatenated blob.

What gets extracted from a ZIP

Text files with these extensions: .txt, .md, .py, .js, .ts, .jsx, .tsx, .json, .csv, .html, .xml, .yaml, .yml, .sql, .css, .scss, .sh, .go, .rs, .rb, .java and more. Hidden files, __MACOSX, node_modules, .git, and dist folders are skipped. Files over 200KB per file are skipped.

Attaching workspace files to a conversation

Click the + button in the message input, then select From workspace. You can:

  • Hover over a file and click Attach to add it immediately in one click
  • Check multiple files then click Attach to add several at once

Files are injected into the conversation context. The model can read them via read_file() calls without the full content being loaded upfront — this keeps responses fast for large files.

Project scoping

Files saved during a session are automatically tagged to the project of the current thread. Any thread in that same project automatically knows those files exist. The model sees a lightweight index of project files on every message and can read any of them on demand.

This means when you start a new thread in a project — even after a heavy coding session in a previous thread — the model already knows what files are available without you having to re-attach them.

Files from other projects are not visible unless manually attached.

Versioning

When a file is updated (either by Claude writing to it or by you re-uploading), the previous version is archived. You can view version history from the workspace panel. The most recent version is always what gets used in conversations.

Supported file types for upload

txt, md, py, js, ts, jsx, tsx, json, csv, html, xml, yaml, yml, pdf, xlsx, xls, zip

Maximum file size: 50MB per file.

See the Limits & formats page for full details including unsupported formats.

Workspace availability by tier

TierWorkspace
Free trialFull access
FreeNot available
Pro / Max / FoundersFull access

If you downgrade to the free tier, your workspace files are retained but not accessible until you upgrade. They are not deleted.