[GH-ISSUE #8329] [FR] Allow linking to external files without copying them into AppFlowy #3735

Open
opened 2026-03-23 21:32:47 +00:00 by mirror · 2 comments
Owner

Originally created by @KriszDK on GitHub (Nov 6, 2025).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8329

Description

When inserting a file using /file, AppFlowy always creates a copy of the selected file inside its internal files directory.
This means the file cannot be edited in its original location — any edits affect only the copied version inside AppFlowy.

For example, selecting a file from:

/home/user/projects/my_file.txt

creates a duplicate inside:

AppFlowy/…/files/...

and edits only that copy.

I also tried creating a shortcut (symbolic link) inside the AppFlowy files folder pointing to the original file, hoping AppFlowy would open the original version.
However, even in this case, AppFlowy still creates a new copy of the file instead of using the linked one.

Proposed solution:
Add an option to link external files instead of copying them.
For example:
• When adding a file with /file, include a checkbox like “Link to file (don’t copy)”.
• If selected, AppFlowy should open and edit the file directly from its original path (absolute or relative).
• The file block would store the external path reference instead of importing the file.

Optional improvements:
• Display a small tag or icon (e.g. “linked file”) for clarity.
• Show a “File not found” warning if the linked file is moved or deleted.

Impact

•	Enables users to edit and manage files directly in their native folders (e.g. project directories).
•	Prevents duplicate files and confusion between original and copied versions.
•	Keeps AppFlowy more suitable for developers, makers, and note-takers who organize files externally.
•	Maintains compatibility with workflows that rely on Git, cloud sync, or shared directories.
•	Saves storage space by avoiding redundant file copies

Additional Context

This feature would make AppFlowy significantly more flexible for users who work with existing project files (e.g. .txt, .md, .py, .ino).
Currently, the /file command is limited to attaching copies, which restricts its usefulness for direct editing workflows.

Originally created by @KriszDK on GitHub (Nov 6, 2025). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/8329 ### Description When inserting a file using /file, AppFlowy always creates a copy of the selected file inside its internal files directory. This means the file cannot be edited in its original location — any edits affect only the copied version inside AppFlowy. For example, selecting a file from: /home/user/projects/my_file.txt creates a duplicate inside: AppFlowy/…/files/... and edits only that copy. I also tried creating a shortcut (symbolic link) inside the AppFlowy files folder pointing to the original file, hoping AppFlowy would open the original version. However, even in this case, AppFlowy still creates a new copy of the file instead of using the linked one. Proposed solution: Add an option to link external files instead of copying them. For example: • When adding a file with /file, include a checkbox like “Link to file (don’t copy)”. • If selected, AppFlowy should open and edit the file directly from its original path (absolute or relative). • The file block would store the external path reference instead of importing the file. Optional improvements: • Display a small tag or icon (e.g. “linked file”) for clarity. • Show a “File not found” warning if the linked file is moved or deleted. ### Impact • Enables users to edit and manage files directly in their native folders (e.g. project directories). • Prevents duplicate files and confusion between original and copied versions. • Keeps AppFlowy more suitable for developers, makers, and note-takers who organize files externally. • Maintains compatibility with workflows that rely on Git, cloud sync, or shared directories. • Saves storage space by avoiding redundant file copies ### Additional Context This feature would make AppFlowy significantly more flexible for users who work with existing project files (e.g. .txt, .md, .py, .ino). Currently, the /file command is limited to attaching copies, which restricts its usefulness for direct editing workflows.
Author
Owner

@LucasXu0 commented on GitHub (Nov 7, 2025):

Inserting a file via a file block is actually uploading your file to the cloud.

There are two reasons for duplication:

  • To ensure the file will be uploaded successfully even if you delete the original file.
  • You don't have to download it again to view it if you're the uploader; you can read it directly from the cache.

I guess you may want to have a feature to link to an external file without uploading it, which means it's a symbolic link to your local file.

<!-- gh-comment-id:3500142940 --> @LucasXu0 commented on GitHub (Nov 7, 2025): Inserting a file via a file block is actually uploading your file to the cloud. There are two reasons for duplication: - To ensure the file will be uploaded successfully even if you delete the original file. - You don't have to download it again to view it if you're the uploader; you can read it directly from the cache. I guess you may want to have a feature to link to an external file without uploading it, which means it's a symbolic link to your local file.
Author
Owner

@KriszDK commented on GitHub (Nov 7, 2025):

I understand the symbolic link idea, but for a self-hosted setup, my goal would be different.

It would be great if AppFlowy could allow adding a local path like:

D:\testfolder\testfile.docx

and when clicking on it, the desktop client would open that file (or folder) on the user’s PC using the local file explorer.

In this case, each client PC would have the same Synology network drive mounted as D:, so the path is identical for everyone.
This way, AppFlowy would not need to copy or download the file — it would just open the original one directly from the shared drive.

Image
<!-- gh-comment-id:3502819429 --> @KriszDK commented on GitHub (Nov 7, 2025): I understand the symbolic link idea, but for a self-hosted setup, my goal would be different. It would be great if AppFlowy could allow adding a local path like: D:\testfolder\testfile.docx and when clicking on it, the desktop client would open that file (or folder) on the user’s PC using the local file explorer. In this case, each client PC would have the same Synology network drive mounted as D:, so the path is identical for everyone. This way, AppFlowy would not need to copy or download the file — it would just open the original one directly from the shared drive. <img width="1639" height="1282" alt="Image" src="https://github.com/user-attachments/assets/acb375b4-32d3-4c48-8529-bf379d4eedb4" />
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#3735
No description provided.