Canvas Ignoring Files and Links Settings

Steps to reproduce

  1. In Settings → Files and Links, enable:

    • New link formatShortest path when possible

    • Automatically update internal links

    • Use [[Wikilinks]]

  2. Add an image to your vault.

  3. Link that image in a note, and also place it in a Canvas.

  4. Move the image using Obsidian’s Navigation pane and confirm both references still work.

  5. Then move the image by changing its location in the file explorer instead.

  6. Reopen the note and the Canvas.

Did you follow the troubleshooting guide? [Y]

Expected result

I expect Canvas image references to remain valid after moving the image, similar to how my note links remain valid with New link format = Shortest path when possible.

Because this setting uses just the file name when possible, the link does not need to be rewritten when the file is moved elsewhere in the vault, as long as there are no duplicate names.

Actual result

If I move the image using Obsidian’s Navigation pane, it works correctly.

But if I change the image location through the file explorer, the Canvas reference does not update and the image breaks.

More generally, Obsidian does not technically update links when a file is moved through the file explorer instead of inside Obsidian, regardless of whether the target file is referenced from a .md note or a .canvas file.

In my notes, this is usually not a problem because I use Shortest path when possible, so image links are often just filename-based and continue to work after the move.

In Canvas, however, the image appears to be stored as a path reference, so moving it through the file explorer causes the Canvas image to break.

Environment

SYSTEM INFO:
Obsidian version: 1.12.7
Installer version: 1.8.10
Operating system: Windows 10 Pro 10.0.19045
Login status: logged in
Language: en
Catalyst license: none
Insider build toggle: off
Live preview: on
Base theme: dark
Community theme: none
Snippets enabled: 1
Restricted mode: on

RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.

Additional information

This may be expected if files moved through the file explorer are outside Obsidian’s link-update system. However, the behavior still feels inconsistent because note links often continue working under Shortest path when possible, while Canvas image references break because they appear to rely on stored paths.

I am trying to determine whether this is expected Canvas behavior or a bug in how Canvas stores image references.

This bug report is very confusing.

It’s not clear to me what do you mean by exactly “add the image to the canvas” ?

What is this?

Some discussion on Discord earlier. It wasn’t clear if the vault was open or not during the (outside Obsidian) Windows File Explorer move of the image.


In a quick test on macOS, I moved the image file using Finder. If the vault is open, the image in a Canvas is fine. If the vault is closed, the embed is missing when reopening the vault. This seems expected to me.

My bad for the confusion. Canvas will ignore my File and Link Settings when New Link Format is set to Shortest Path When Possible. All my images and files contain unique names, so when I go and place an image in a file, or go and reference the image within the file, the link will be ![[Pasted Image 12421421512512]]. But if the same image is linked in the Canvas, regardless of the settings, it will be ![[vault/folder/Pasted Image 12421421512512]].

The reason I wrote about it, is because I like to organize my files, especially images, into specific folders, and when you have a large vault, its a 1000x easier and faster just to do it through the Window’s File Explorer. Again, this is usually fine for me, as all my images have unique names such as ![[Pasted Image 12421421512512]], so It doesn’t matter where the image is located in the vault. But in Canvas, since it forces a path for the image, if I move images around using the Window’s File Explorer, it will see that it is not down the specific path, and will request new image location.

Image in file after being moved:

Image in Canvas after being moved:

There’s something that I am missing.

Can you make a screen recording showing me how this link ![[vault/folder/Pasted Image 12421421512512]] is produced? Is it in card within canvas?

I think its a "type":"file" image embed in a Canvas and not an ![[embedded.img]] (but could be wrong).

I can get the “XYZ could not be found” card if moving the image outside of Obsidian with the vault closed and closing-opening the .canvas.

ok, so this has nothing to do with wikilinks or markdown links.

Currently, the images (and all other embeds actually) are recorded with their full path relative to the vault root. These links are updated when Obsidian is open.

There is a FR open to make them relative to canvas file itself.

You can open another FR asking to use/follow the shortest format.

It’s unlikely to happen.

Thanks for the clarification. I think I see where the disconnect is. I’ve recorded a short video to demonstrate what exactly I am talking about and why this feels like an inconsistency in the user experience, even if the underlying tech (Markdown vs. JSON) is different.