I found the issue. Apologies to anyone confused by this, it's not an issue with `org`, but rather with `org-roam`.
I assumed it wouldn't run any code when simply being loaded, but it turns out that `org-roam` was adding itself as a link follow parameter for ID links when loaded by Emacs. Removing it solves my issue: (org-link-set-parameters "id" :follow #'org-roam-id-open) Thanks! Sebastian Wålinder <s.walin...@gmail.com> writes: > I have been reading through the code, and it appears that org-id doesn't > store the actual positions of ids within all files. > > It's instead fetched every time the link is accessed. There must be something > strange going on with the org cache causing this issue. > > Sebastian Wålinder <s.walin...@gmail.com> writes: > >> Hello! >> >> I often use org-id to create persistent links to headings like this: >> >> * Foo >> :PROPERTIES: >> :ID: BAR >> :END: >> >> [[BAR][Link]] >> >> However, after inserting a line above foo, following the link BAR will take >> me to the wrong line, because the org-id database hasn't been updated with >> the headline's new position. >> >> Running `org-id-update-id-locations` fixes this issue, but takes forever to >> run because it goes through all my org files. >> >> How would I keep these links updated when I make frequent edits? Is there a >> function that updates the IDs in a single file only? If so, I could advice >> the open link function to run it first and update all the positions quickly >> before following the link. >> >> Thoughts? >> >> Thanks!