WHAT DO YOU RECOMMEND?
A File Object that references a file instead of importing a copy of it.
Today, associating a file with an Object has exactly one path: upload, which pulls a copy into the space’s internal store. For files that already live somewhere else — a local folder, a NAS, a cloud drive — this creates permanent duplication between Anytype and the filesystem. Deduplication inside a space does not help, because the duplication is between Anytype and everything outside it.
The file:/// workaround exists but is only a website link: no file type, no preview or thumbnail, not an Object, not filterable in Sets, and dead on mobile.
HOW COULD IT BE DONE?
A reference File Object stores a URI plus cached metadata (name, size, type, thumbnail, last seen) — but not the file bytes.
The key is that the URI scheme should be pluggable, so this is one mechanism rather than one integration:
| Scheme | Resolver |
|---|---|
file:// |
local path, with per-device root mapping |
webdav:// |
Nextcloud, ownCloud, Synology |
s3:// |
S3 / MinIO / Backblaze |
gdrive://, onedrive:// |
OAuth cloud providers |
Google Drive is the one I would use, but I am deliberately not asking for a Google integration. Providers can land one at a time, and the community can build the rest.
Expected behaviour:
- references behave like File Objects everywhere — linked from any Object, shown in relations, filtered in Sets and Collections, found in search
- cached metadata keeps the Object useful and searchable when the source is unreachable, showing a clear “unavailable” state rather than an error
- per-device path mapping for
file://, so one Object resolves on a laptop and on a NAS without rewriting anything - read-only by default — Anytype never moves or deletes source files
- explicit conversion both ways: “import a copy of this reference” and “export this file and replace it with a reference”
Natural follow-up once references exist: point a Collection at a folder and let Anytype maintain reference Objects for its contents automatically. Separate request, but it is where this leads.
REAL WORLD USE CASES
Purchase tracker. I keep one Object per device — model, purchase date, price, warranty, shop URL — and each should carry its invoice and user manual. Those PDFs already exist on disk in a structure other tools depend on: my accountant needs “all invoices from 2025” as a folder, my backup tooling operates on those folders, other applications open the same files, and the file names follow a convention (2026.03.12 Switch_TP-Link_SG1005P-PD.pdf) that my scripts parse. Every document now exists twice, and the copies drift apart the moment I replace a scan or fix a name.
Document archive. Invoices arrive from a scanner or an email rule into a watched folder. With references, the Object points at the file and stays correct no matter what re-sorts or renames it later. With uploads, every re-sort silently invalidates what Anytype holds.
Media library. Cataloguing a photo, music or video collection is impossible today — nobody will duplicate hundreds of GB into a space to get a catalogue of it.
The common thread: Anytype should be able to describe files without becoming the only door to them.
RECOMMENDED ALTERNATIVES
file:/// website links. Works today, but it is a link, not an Object — no preview, no queries, nothing on mobile.
Uploading copies and living with duplication. What I do now. It breaks as soon as a document is corrected or renamed on disk, and there is no way to detect the drift.
Moving to Obsidian. This is the alternative that actually solves the problem, and it is worth describing precisely, because it shows what users expect. In Obsidian a vault is a directory. You point the app at an existing folder and everything already in it becomes part of the vault immediately:
- existing PDFs and attachments are picked up in place — no import step, no copy
- notes reference them by ordinary relative paths, so references survive the folder being moved, synced or backed up as a unit
- files written by other programs — a scanner, a sync client, a shell script — simply appear on the next scan
- the folder stays fully usable by every other tool on the system
- there is no second copy to keep in sync, because there is no first copy
The cost of switching is typed Objects, relations, the graph and E2EE sync. I do not want to make that trade, but ADDITIONAL CONTEXT
This does not conflict with local-first or E2EE. A reference stores a URI and cached metadata; resolution happens locally on each device, with credentials held per-device and never synced. The encrypted space is unchanged, and users who never create a reference are unaffected.
I am not asking for Obsidian’s architecture. Anytype’s storage is content-addressed, encrypted and syncable, and a directory-as-space model would break all three. That is precisely why the request is for references rather than vaults: same outcome — files stay put, other tools keep working, no duplication — without touching how uploaded files are stored today.
It closes a gap the API cannot work around. An integration can push a file through upload-file, but it has no way to express “this Object concerns that file over there” without adding another copy to the space.
Related requests worth linking: auto-backup / auto-export, and deeplinking for external apps — the same theme of Anytype cooperating with files and tools that live outside it.