Skip to content

How to attach files to an AI agent chat and keep them with your project

A file you give an AI agent should not disappear into a chat history. This guide shows how to attach a PDF, an image or a screenshot, keep the file in the project folder where it belongs, and understand what the agent actually reads from it.

· 8 min read · by Dorian Richard

Two jobs in one gesture

When you attach a file to a message, you usually want two things. The first is obvious: the agent should use the file to answer. The second is easy to forget: the file should end up somewhere you can find it next week, next to the rest of the project.

Most chat tools only do the first. The file lives inside one conversation. Start a new thread and the agent no longer sees it; look for it a month later and you are scrolling through old messages instead of opening a folder.

Pasting the content instead is worse. A pasted PDF loses its layout, its tables and its page numbers. Long documents get cut. Nothing tells you later which version you pasted.

The rule that fixes this is simple: keep files where the work happens. If an AI agent works inside a project folder, the files you hand it should land in that folder, under a name you recognize, and stay there after the conversation ends.

How Pandore handles attachments

Since version 0.7.0 (see the changelog), the chat in Pandore does both jobs at once. In a project chat, every file you attach is copied, when you send the message, into a subfolder of the project folder called "Pièces jointes", the project's attachments folder. The agent reads it from there, and it stays there once the conversation is over.

A few details matter in practice:

  • Nothing is copied before you send. If you attach a file and remove it before sending, the project folder stays untouched.
  • Nothing is overwritten. If "quote.pdf" already exists in the folder, the new one becomes "quote (2).pdf".
  • No second copy of a file already there. A file you pick from the attachments folder itself is not copied again.
  • One limit: 500 MB per file.

Attach a file, step by step

  1. 01Open the project chat

    Open a project linked to a folder on your disk and go to its Chat tab. A "file access" badge in the conversation header means the agent can read and edit files in that folder.

  2. 02Add your files

    Click the paperclip next to the message field, drag files onto the chat from your file manager, or paste a screenshot. A pasted image gets a name with the date and time. The files appear just above the field, each with a button to remove it.

  3. 03Say what each file is for

    Write the request as you would to a colleague, naming each file's role: "The PDF is the client's brief, the screenshot is their current site. List what the brief asks for that the site does not do yet." If you send files without any text, Pandore sends "See the attached files."

  4. 04Send

    The files are copied into "Pièces jointes" and listed under your message with their name and size. Click one to show it in its folder.

Attachments also work in two less obvious places. If the agent is still answering, your message goes to the queue with its files, which are copied right away. And if you call agents by name with @ in the same message, each of them receives the files.

What the agent actually receives

This is the part most people never see, and it explains most surprises. The answer depends on who reads the file.

An agent working in the folder gets paths, not content

Claude Code, Codex and Gemini CLI run inside the project folder. Pandore does not paste your file into their prompt. It adds a short note to your message that lists the attached files by their path in the project folder, and asks the agent to open the ones it needs before answering.

That has two benefits. The agent reads the file with its own tools, and for Claude Code that includes PDFs and images. And a long document costs only what the agent actually reads from it, instead of being pasted whole into the request.

Later in the conversation, the history keeps a short note of which files came with which message. You can write "go back to the brief I attached earlier" and the agent has the path in front of it.

A local model gets the text

A local model cannot open files. For it, Pandore extracts the text and adds it to the message: the content of text files (plain text, Markdown, CSV, JSON, code and similar formats) and the text layer of PDFs. Each file is capped at 24,000 characters and the whole message at 60,000. Beyond that, the text is cut and marked as truncated.

Two consequences follow. A scanned PDF with no text layer gives the model nothing to read, and the model is told so. And an image means nothing to a local model, which brings us to the next point.

Images, screenshots and other formats

Local models in Pandore do not see images. Files Pandore cannot extract text from, such as Word or Excel documents, are in the same situation.

In automatic mode (Settings › AI, with local and remote working together), a message that carries an image or one of these files goes to your remote agent instead of the local model. In local-only mode, it stays local: the model is told that an image is attached that it cannot see, and to say so if the answer depends on it.

What you attachAgent working in the project folderLocal model
Text, Markdown, CSV, JSON, codeGets the path and opens the fileGets the text, up to 24,000 characters
PDFGets the path; Claude Code reads PDFsGets the extracted text, if the PDF has any
Image or screenshotGets the path; Claude Code reads imagesCannot see it; in automatic mode, the message goes to the remote agent
Word, Excel and other formatsGets the pathNo text; in automatic mode, the message goes to the remote agent

A practical consequence: if you want a local model to read a spreadsheet, export it as CSV first. For a Word document, export it as PDF or plain text.

Local or remote: what leaves your computer

Pandore has no server. Copying the file into the project folder happens on your disk and sends nothing anywhere.

What happens next depends on who reads it. When a remote agent such as Claude Code opens an attached file, the content it reads goes to the provider behind that agent as part of its work, exactly like any other file it opens in the folder. That provider's own terms apply. When a local model reads it, the text stays on your computer. If that difference matters for your work, our guide to running a local LLM on a Mac shows how to set one up.

Three habits keep this under control:

  1. Check your mode before attaching something sensitive. In automatic mode, an image or a Word file goes to the remote agent. If a document must stay on your machine, switch to local-only mode first, and export it to a format the local model can read.
  2. Attaching does not widen access. An agent working in the project folder can already open the files in it, within the permissions you set in Settings: read only, may change files, or may run commands. Attaching a file copies it into that same folder.
  3. Attach only what you would leave in the folder. The copy stays in "Pièces jointes" after the conversation. That is the point, but it also means the file is filed with the project until you delete it.

Without a project folder

Not every conversation belongs to a project folder. In the general chat, or in a conversation about a client rather than a project, there is no folder to copy into. Pandore then keeps the files with the conversation, in its own data folder, and a note below the attached files tells you so before you send.

In that case no agent opens the files itself. Whichever agent answers receives the text of text files and PDFs, with the same limits as a local model, and nothing from images. If you need an agent to look at a screenshot, attach it in a project chat.

Good habits for attached files

  • Rename before you attach. "scan0042.pdf" tells the agent and your future self nothing; "supplier quote v2.pdf" does. The name you give is the one kept in the folder.
  • Do not attach what is already in the folder. If the file already sits somewhere in the project folder, give its path in your message instead. An agent working in the folder can open it, and attaching it would only add a copy to "Pièces jointes".
  • Say which file is which. With three attachments, one sentence on the role of each saves a round of questions.
  • Tidy the folder now and then. "Pièces jointes" is an ordinary folder, so move what deserves a better place. The file list under an old message points to where the file was first copied, so it will not follow a file you moved.
  • Check the reading before the real question. For a long PDF, ask first what it contains and where. You will see right away whether the agent opened the right file, before you rely on its answer.

If you use Claude Code every day, the Claude Code desktop page shows the rest of the setup: Claude Code running inside each project folder, from a desktop app.

Questions

Before you start.

Does Pandore upload my attachments anywhere?

No. Pandore has no server and copies files on your own disk. A remote agent that opens a file sends what it reads to its provider as part of its work; a local model keeps everything on your computer.

What if I attach two files with the same name?

Nothing is overwritten. The second copy gets a number, for example "quote (2).pdf", and the agent receives the right path for each.

Can several agents use the same attachment?

Yes. If you call several agents with @ in the message that carries the files, each one receives them.

Is there a size limit?

Each file can be up to 500 MB. For a local model, the extracted text is capped at 24,000 characters per file and 60,000 per message.

Attach your next brief to a project.

Free for Mac and Windows. No account required.

Version 0.9.0 · free · macOS 11+ Apple Silicon · Windows 10/11 x64