# Just curious about the reason for a change

**URL:** <https://org-roam.discourse.group/t/just-curious-about-the-reason-for-a-change/3863>\
**Category:** Development\
**Created:** [September 24, 2025, 7:48am UTC](https://org-roam.discourse.group/t/just-curious-about-the-reason-for-a-change/3863 "2025-09-24T07:48:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![eamonnsullivan](https://avatars.discourse-cdn.com/v4/letter/e/c68b51/32.png) [@eamonnsullivan](https://org-roam.discourse.group/u/eamonnsullivan)\
**Post date:** [September 24, 2025, 7:48am UTC](https://org-roam.discourse.group/t/just-curious-about-the-reason-for-a-change/3863/1 "2025-09-24T07:48:11Z")

</div>

I noticed in all of my capture templates (which are mostly `entry` type) that the id is now created on the first headline, rather than at the top of the file. (Seems to be [this pull request](https://github.com/org-roam/org-roam/pull/2056).) I don’t have a strong opinion about this either way, but was just curious what this change is designed to achieve? I’ve been thinking in “very small files, each with an id” and this change makes me think maybe I should have bigger files and ids on headings. Is that the idea?

---

<div class="post-metadata">

**Author:** ![akashp](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/akashp/32/1383_2.png) [@akashp](https://org-roam.discourse.group/u/akashp)\
**Post date:** [September 24, 2025, 10:57pm UTC](https://org-roam.discourse.group/t/just-curious-about-the-reason-for-a-change/3863/2 "2025-09-24T22:57:06Z")

</div>

I think people “expect” entries to have IDs. I personally think it was trivial to achieve this even before - during capture just call the org-id related function and so on. The capture process is incredibly cumbersome for something simple it does and as one can see automating this minor change requires such a big patch.

I think you should organise your files as you see fit. Don’t update if you want the older behaviour or just reverse patch that particular one and carry on with life 🖖🏻

In the most frustrating case - users have to move to org-capture instead of org-roam-capture for entries.

Having minimal number of ids in a file is the “correct’“ approach to maintaining notes for me. I use entries to just create a heading and nothing else.

---

<div class="post-metadata">

**Author:** ![akashp](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/akashp/32/1383_2.png) [@akashp](https://org-roam.discourse.group/u/akashp)\
**Post date:** [September 24, 2025, 11:20pm UTC](https://org-roam.discourse.group/t/just-curious-about-the-reason-for-a-change/3863/3 "2025-09-24T23:20:43Z")

</div>

P.s. hopefully no more annoying errors like this

> <https://github.com/org-roam/org-roam/issues/2446>
>
> In my org-roam setup, I want to document information about individuals. To do th…is, I created an org file named \`20230501233516-persons.org\`, which contains two top-level headings: \`\* Overview\` and \`\* Persons\`.
> 
> Under the \`\* Persons\` heading, I intend to list all individuals. I've created a template that allows me to add people from any other file using \`org-roam-node-insert\` (\`C-c n r i\`). This template also facilitates the creation of new person entries on the fly, and ideally, it should add a link to the person entry in the file I am currently working in.
> 
> While the template functions as expected in creating new person entries, the link generated points to the ID of the \`20230501233516-persons.org\` file rather than the newly created person entry. How can I adjust my template so that it correctly links to the new person's entry instead of the \`20230501233516-persons.org\` file?
> 
> Here is my template:
> 
> \`\`\`
> (setq org-roam-capture-templates
> '(("p" "person" entry
> "\*\* %^{Name|${title}}
> :PROPERTIES:
> :ID: %(org-id-uuid)
> :AFFILIATION: %^{AFFILIATION}
> :ROLE: %^{ROLE}
> :PROJECT: %^{PROJECT}
> :CAPTURED: %U
> :END:\\n%?"
> :target (file+olp "20230501233516-persons.org" ("Persons"))
> :unnarrowed 1
> )
> ))
> \`\`\`
> 
> My system:
> 
> \`\`\`
> system MacOS 14.5 Darwin 23.5.0 arm64 mac
> emacs 29.1 EMACSDIR=~/.config/emacs/
> EMACS=/opt/homebrew/Cellar/emacs-mac/emacs-29.1-mac-10.0/Emacs.app/Contents/MacOS/Emacs
> doom 3.0.0-pre PROFILE=\_@0 HEAD -\> master a99c6b90 2024-06-23 17:15:51 -0400
> ~/.config/doom/
> 
> Org mode version 9.8 (9.8-??-39272e216
> \`\`\`
> 
> 
> This question has also been asked at https://emacs.stackexchange.com/questions/81591/how-to-get-the-right-link-using-org-capture-from-the-second-level

Probably for the best that entries now get id straight away. But yea - unless you need to capture and insert 2nd or below levels immediately - and you don’t want to have IDs for every entry - you can safely undo the patch if you find the previous behaviour better.

But I think this change will prevent annoying bugs like these in the future for everybody else (hopefully)

---

<div class="post-metadata">

**Author:** ![eamonnsullivan](https://avatars.discourse-cdn.com/v4/letter/e/c68b51/32.png) [@eamonnsullivan](https://org-roam.discourse.group/u/eamonnsullivan)\
**Post date:** [September 25, 2025, 10:12am UTC](https://org-roam.discourse.group/t/just-curious-about-the-reason-for-a-change/3863/4 "2025-09-25T10:12:26Z")

</div>

Thank you. Seeing the kind of issue it was addressing makes it clearer. I’m fine with the change, so I’ll just stay kept up with the main branch. (I use straight.el, which is probably why I spotted this early.) As I said, I don’t have any strong opinions, and this change makes the top of my files a bit cleaner, so… all good!

Thanks for the wonderful work! I literally _live_ in org and org-roam.
