Claude Artifacts With Multiple Files: Limits and Options

Claude artifacts are single-file outputs. When a project needs more than one file, you have a few options. Here is what those options are, when to use each, and how to carry the work into a real repository.

Updated 4 min read

A Claude artifact is a single self-contained output: one HTML file, one React component, one Python script, one document. There is no built-in way to produce a multi-file project as a set of linked artifacts in one step. That is a deliberate boundary, not a bug, and knowing it shapes how you plan work with Claude.

When a prototype outgrows that single file, the handoff to a real repository carries not just the code but the requirements and open decisions behind it. Tools like fenbs keep those requirements and unfinished tasks in one place outside any chat session, so the transition does not lose the reasoning built up across sessions.

Why artifacts are single-file by design

The artifact panel is a preview surface, not a development environment. Claude renders an artifact in a sandboxed frame: a single HTML document, a self-contained React component, or a runnable script. That sandbox cannot resolve imports across multiple files, run a bundler, or manage a project directory.

This keeps artifacts fast to generate and safe to share. A single file needs no build step and no file-system access. The tradeoff is that anything needing multiple source files — a component library, a multi-route app, a Python package with helpers — lives outside the artifact scope.

Options for multi-file work within Claude

You have three practical approaches when a project needs more than one file.

  • Inline all logic in one artifact. For a React prototype, merge helper components and utility functions into a single component file. This works well for early validation but produces a long, tangled file quickly.
  • Produce files one at a time and paste them into your project. Ask Claude for each file in turn. Copy the output, create the file locally, and continue. The chat thread serves as the work log.
  • Move to Claude Code or another coding assistant. Claude Code operates on your local filesystem and can read, create, and edit multiple files in one session. The what is claude code post explains the difference.

Producing multiple files through the chat thread

When you use the produce-one-file-at-a-time approach, structure the session so Claude has the full picture before generating anything.

  1. Describe the entire project first: the file structure you expect, what each file does, and how they relate.
  2. Ask Claude to outline the structure before generating code. Review the outline and correct any misunderstanding.
  3. Ask for one file at a time, in dependency order. Start with shared utilities or types, then the components that use them.
  4. Paste each file into your project and test it before moving to the next. Small errors caught early are cheaper than untangling a set of files that make incompatible assumptions.
  5. Keep a running note of the decisions made along the way: naming conventions, type choices, patterns. Use them to start each prompt so Claude stays consistent across turns.

When to move to a repository

Four signals suggest the work has grown past the artifact pattern. The component needs to fetch real data. The structure needs more than one or two files. Multiple people need to review or edit the code. Or the prototype has been approved and real engineering begins.

At that point, the most valuable thing to carry into the repository is not just the code, but the decisions that shaped it: why the component is structured that way, which options were considered and rejected, what remains unresolved. Code without that context is harder for the next engineer — or the next assistant — to continue correctly.

How fenbs helps

Carry requirements and open tasks into the real project

Before moving artifact work into a repository, save the accepted decisions, unfinished tasks, and next steps in fenbs. The next session — in Claude Code, Cursor, or any connected assistant — reads the same record and starts from where the prototype left off. Connect your assistant at /integrations.

Create a free account

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

What to save before the handoff

A good handoff document for a multi-file project covers more than the current file list. It captures what was decided and why, what is still open, and what the next person should start with.

  • The agreed component structure and naming conventions.
  • Decisions that were debated: options considered, what was chosen, and the reason.
  • Known problems or rough edges in the current artifact code.
  • The first task in the repository: what should be done before anything else.

The claude code deleted files post covers recovery when something is accidentally removed during early repository work, which is worth reading before starting.

How to do this with fenbs

  1. Create a free account and add a project for the work the artifact feeds into.
  2. Add a task for the prototype phase. Record the component requirements and any design decisions made during artifact sessions.
  3. When the prototype is approved, mark that task done and open a new task for the repository phase. Write the first implementation steps in the plan.
  4. Record accepted decisions — type choices, file structure, naming rules — as Decisions and rules so the next assistant reads them before touching any file.
  5. Connect your coding assistant to fenbs at /integrations. Ask it to read the project context at the start of each new session.

fenbs does not manage files directly; it keeps the project requirements and state that makes the files useful. See claude artifacts sharing limits and what to use for teams for collaboration options before the repository stage.

Questions people ask.

Can Claude produce a zip file with multiple project files?

Not directly through the artifact panel. Claude can write multiple files in the chat text and you can copy each one, but there is no built-in packaging step. Claude Code, which runs on your local filesystem, can create a multi-file project directly.

Can two Claude artifacts import from each other?

No. Artifacts are independent sandboxed outputs with no shared filesystem. Each one is self-contained. For shared code, inline the shared logic in each artifact or move the project to a local repository.

Is there a file size limit for a Claude artifact?

There is no published exact limit, but very large single-file outputs can hit context or rendering constraints. If an artifact becomes unwieldy, split the logic conceptually and produce the repository version instead.

What is the best way to hand a Claude artifact off to a developer?

Share the artifact link for the running preview, then copy the code from the code tab for the developer to use. Also share the decisions and requirements behind the component, since those are not visible in the code.

Does Claude remember an artifact from a previous chat?

Only if you are in a Claude Project that has the artifact saved to it, or if you paste the code back into a new chat. Plain chat sessions do not share memory across conversations.

More in Agent harness (for developers)

All Agent harness (for developers) articles

Start with one thing.

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

There is nothing to set up first. Write one line and you’ve started.