# Is there a way to visit a node by id?

**URL:** <https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833>\
**Category:** How To\
**Created:** [July 20, 2025, 11:15pm UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833 "2025-07-20T23:15:20Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![dmg](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@dmg](https://org-roam.discourse.group/u/dmg)\
**Post date:** [July 20, 2025, 11:15pm UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/1 "2025-07-20T23:15:20Z")

</div>

ok, this is weird, i have been using org-roam for several years… but today I wanted to write a function to visit a specific node.

Is there a function to visit a specific node-id in org-roam? I could not find any.

thank you in advance

P.s. there org-id-open but that does not use the database

```
(defalias 'org-roam-id-open 'org-id-open
    "Obsolete alias - use `org-id-open' directly.")

```

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [July 21, 2025, 1:16am UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/2 "2025-07-21T01:16:48Z")

</div>

> [@dmg](#):
>
> `org-roam-id-open`

I suggest to look at a previous version of the source for this function. It used to use DB and was standardized in recent version updates.

What’s the reason behind your motivation?

---

<div class="post-metadata">

**Author:** ![dmg](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@dmg](https://org-roam.discourse.group/u/dmg)\
**Post date:** [July 21, 2025, 2:48am UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/3 "2025-07-21T02:48:01Z")

</div>

Thanks. I’ll do that

I want to create a small command/function that visits the node (there is a small set of nodes I visit all the time and I don’t want to use org-roam-node-find any more). I can open the file, but I thought that the node-id will be better, in case I move the file (and also, puts the point at the beginning of the node).

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [July 21, 2025, 2:54am UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/4 "2025-07-21T02:54:15Z")

</div>

> [@dmg](#):
>
> I can open the file, but I thought that the node-id will be better, in case I move the file (and also, puts the point at the beginning of the node).

Thought the built-in `org-id-open` would be enough for your purpose, though it does not use DB. Some reason to prefer DB to the built-in way (with a list in a file)?

---

<div class="post-metadata">

**Author:** ![dmg](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@dmg](https://org-roam.discourse.group/u/dmg)\
**Post date:** [July 21, 2025, 3:03am UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/5 "2025-07-21T03:03:22Z")

</div>

Fear, uncertainty and doubt 🙂

I use syncthing to sync all my files from computer to computer. The IDs in org-cache seems to be updated only when the files are opened in the computer where the cache exists.

In contrast, I run org-roam-db-sync daily (or when a file does not seem to be found). So I trust org-roam’s db more than org’s cache.

I don’t really know if this is an issue, in part because I never understood org’s cache (the documentation on it is not very good).

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [July 21, 2025, 3:56am UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/6 "2025-07-21T03:56:55Z")

</div>

Oh, I see. I am not sure of the timing of Org ID cache either 🙂

---

<div class="post-metadata">

**Author:** ![dmg](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@dmg](https://org-roam.discourse.group/u/dmg)\
**Post date:** [July 21, 2025, 4:35am UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/7 "2025-07-21T04:35:44Z")

</div>

ok, i got help from chatGPT. this function seems to update org-ids by scanning org-roam files:

org-roam-update-org-id-locations

which calls

org-id-update-id-locations with a list of files

so i guess if I call org-roam-update-org-id-location I should be ok

---

<div class="post-metadata">

**Author:** ![JeffBrown](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/jeffbrown/32/254_2.png) [@JeffBrown](https://org-roam.discourse.group/u/JeffBrown)\
**Post date:** [July 21, 2025, 9:50pm UTC](https://org-roam.discourse.group/t/is-there-a-way-to-visit-a-node-by-id/3833/8 "2025-07-21T21:50:40Z")

</div>

I use `org-id-goto` for this.
