10.2.1 Attachment defaults and dispatcher

By default, Org attach uses ID properties when adding attachments to outline nodes. This makes working with attachments fully automated. There is no decision needed for folder-name or location. ID-based directories are by default located in the ‘data/’ directory, which lives in the same directory where your Org file lives89.

When attachments are made using org-attach a default tag ‘ATTACH’ is added to the node that gets the attachments.

For more control over the setup, see Attachment options.

The following commands deal with attachments:

C-c C-a (org-attach)

The dispatcher for commands related to the attachment system. After these keys, a list of commands is displayed and you must press an additional key to select a command:

a (org-attach-attach)

Select a file and move it into the task’s attachment directory. The file is copied, moved, or linked, depending on org-attach-method. Note that hard links are not supported on all systems.


Attach a file using the copy/move/link method. Note that hard links are not supported on all systems.

b (org-attach-buffer)

Select a buffer and save it as a file in the task’s attachment directory.

n (org-attach-new)

Create a new attachment as an Emacs buffer.

z (org-attach-sync)

Synchronize the current task with its attachment directory, in case you added attachments yourself.

o (org-attach-open)

Open current task’s attachment. If there is more than one, prompt for a file name first. Opening follows the rules set by org-file-apps. For more details, see the information on following hyperlinks (see Handling Links).

O (org-attach-open-in-emacs)

Also open the attachment, but force opening the file in Emacs.

f (org-attach-reveal)

Open the current task’s attachment directory.

F (org-attach-reveal-in-emacs)

Also open the directory, but force using Dired in Emacs.

d (org-attach-delete-one)

Select and delete a single attachment.

D (org-attach-delete-all)

Delete all of a task’s attachments. A safer way is to open the directory in Dired and delete from there.

s (org-attach-set-directory)

Set a specific directory as the entry’s attachment directory. This works by putting the directory path into the ‘DIR’ property.

S (org-attach-unset-directory)

Remove the attachment directory. This command removes the ‘DIR’ property and asks the user to either move content inside that folder, if an ‘ID’ property is set, delete the content, or to leave the attachment directory as is but no longer attached to the outline node.



If you move entries or Org files from one directory to another, you may want to configure org-attach-id-dir to contain an absolute path.