Files you upload into a conversation ride along with your message as attachments and are scoped to that conversation. For reusable external tools (MCP servers and REST APIs), see Connectors instead.
Uploading a file in chat
The fastest way to add a file is to drop it on the composer, paste it in, or click the paperclip and pick one. What happens next depends on the file type:
- PDF, Word, PowerPoint, plain text, code: vectorised. The file is chunked, embedded, and stored in a vector collection scoped to this conversation. The assistant retrieves relevant chunks at each turn.
- CSV, Excel, TSV: uploaded as a tabular source. The assistant can run SQL-style queries against it instead of reading the rows as text.
- Images (PNG, JPG, etc.): pass through OCR so the text is searchable. The original image is also kept for vision-capable models.
A chip appears above the input while the upload runs, with a progress bar. If processing fails (unsupported format, corrupt PDF, OCR error) the chip turns red with the reason. Dismiss it and try again.
The upload doesn't drop a separate line into the conversation, the file rides along with the next message you send, shown as an attachment on that message. It's also available to the assistant from that point on, whether or not you mention it explicitly. A file is a per-conversation attachment; it is not added to a reusable library.
Duplicates
If you upload a file you've already attached, PrivateMind detects it and just links the existing copy instead of re-processing. The upload chip resolves and the file attaches to your next message straight away, no second copy is made and no extra message is added to the conversation. Ask your next question and the assistant uses it.
Where next
- Connectors: reusable MCP servers and REST APIs you attach to a chat
- Chat: how attachments feed into the conversation
- Projects: pin a set of connectors to every new conversation