# What has happened to org-roam completion frameworks in v.2

**URL:** <https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786>\
**Category:** Troubleshooting\
**Created:** [July 20, 2021, 5:58pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786 "2021-07-20T17:58:48Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 20, 2021, 5:58pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/1 "2021-07-20T17:58:48Z")

</div>

In org-roam version 1 I was able to invoke ivy as my completion framework with:  
`(setq org-roam-completion-system 'ivy)`  
In version 2, this no longer seems to work.

---

<div class="post-metadata">

**Author:** ![WalterJ](https://avatars.discourse-cdn.com/v4/letter/w/b5a626/32.png) [@WalterJ](https://org-roam.discourse.group/u/WalterJ)\
**Post date:** [July 20, 2021, 6:53pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/2 "2021-07-20T18:53:41Z")

</div>

the completion has been rewritten, just set:

```auto
(setq org-roam-completion-everywhere t)

```

see more here in the [documentation](https://www.orgroam.com/manual.html#Completion)

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 20, 2021, 7:05pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/3 "2021-07-20T19:05:39Z")

</div>

Thank you. I am away from my main computer at present. Would I need to add that line to the one I provided, or use it as a replacement? If so, how would one specify a specific framework? The documentation does not specify that.

---

<div class="post-metadata">

**Author:** ![bruce](https://avatars.discourse-cdn.com/v4/letter/b/ccd318/32.png) [@bruce](https://org-roam.discourse.group/u/bruce)\
**Post date:** [July 21, 2021, 12:36am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/4 "2021-07-21T00:36:24Z")

</div>

Try replacing it and see what happens.

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 2:34am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/5 "2021-07-21T02:34:24Z")

</div>

Okay. It seems that they have now introduced their own completion framework. My ivy does not work any more.

---

<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, 2021, 6:19am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/6 "2021-07-21T06:19:31Z")

</div>

@revrari

How about trying this?

```auto
(defun my/org-roam-node-find ()
  (interactive)
  (unwind-protect
;; unwind-protect is required to turn off ivy
;; even when you cancel without choosing a node
      (progn
       (ivy-mode +1)
       (org-roam-node-find))  
    (ivy-mode -1)))

```

These are two different “completions”.

1. `org-roam-completion-system`
2. `org-roam-completion-everywhere`

Item 1 is for the minibuffer completion: [link to v1 manual from January](https://github.com/org-roam/org-roam/blob/05deb64d8533bef706b3d164ce344f0c26944bc1/doc/org-roam.org#minibuffer-completion)  
Item 2 is for completion at point: [link to v1 manual from January](https://github.com/org-roam/org-roam/blob/05deb64d8533bef706b3d164ce344f0c26944bc1/doc/org-roam.org#link-completions-everywhere)

I think Item 1 is no longer available in V2, but Item 2 is as @WalterJ mentions.

* * *

Also… This is not quite the case.

> [@revrari](#):
>
> introduced their own completion framework

Org-roam now uses the stock `completing-read`. You can inspect how it is done by looking at the source of function `org-roam-node-read`.

This should not interfere with the completion framework you have chosen to use (Ivy, Helm, Selectrum, etc.).

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 7:53am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/7 "2021-07-21T07:53:34Z")

</div>

Thank you. Unfortunately that function did not work for me. It did not turn on `ivy-mode` with `org-roam` commands. If I simply add `(ivy-mode)` to my dot emacs then it _is_ activated globally including with `org-roam`. However, in the past, I was able to specify its use with org-roam. I do not want to globally enable `ivy-mode` in Emacs.

---

<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, 2021, 8:04am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/8 "2021-07-21T08:04:46Z")

</div>

This function then quickly turns it off after you selecting a node or cancel the completion process, so it should not affect anything else…

But yes, it’s not a set-and-forget function; it’s a replacement. You need to use the custom one instead of the standard one.

The Org-roam feature you refer to does not exist with V2 any longer.

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 9:19am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/9 "2021-07-21T09:19:50Z")

</div>

I am only using the custom one. But it does not turn ivy mode on.

---

<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, 2021, 9:34am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/10 "2021-07-21T09:34:25Z")

</div>

Then I think you might need to turn off the completion mode that you have (helm?) in the code before Ivy is turned on, and then turn it back on after Ivy is turned off again. It should be fairly straight forward change to the code. I tested it without having any completion turned on and worked.

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 10:02am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/11 "2021-07-21T10:02:58Z")

</div>

I have no completion framework other than the default vanilla Emacs installed.

---

<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, 2021, 10:22am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/12 "2021-07-21T10:22:54Z")

</div>

Very strange then… I assume you have ivy installed. It worked on my PC; can’t think of a reason why it doesn’t work for you. Emacs 27.2.

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 11:37am UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/13 "2021-07-21T11:37:23Z")

</div>

I will test it out with a minimal install and revert back. Thanks so much.

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 3:02pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/14 "2021-07-21T15:02:59Z")

</div>

I have managed to get the function to work, which is just great. I am almost there. However, I would still need to be able to have the same happen for `org-roam-node-insert`. I tried an equivalent function for that command but it does not work.

---

<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, 2021, 3:09pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/15 "2021-07-21T15:09:14Z")

</div>

I just tested it for org-roam-node-insert. Works on my end.  
What did you do differently to get the other one to work?

---

<div class="post-metadata">

**Author:** ![revrari](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@revrari](https://org-roam.discourse.group/u/revrari)\
**Post date:** [July 21, 2021, 3:48pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/16 "2021-07-21T15:48:33Z")

</div>

@nobiot I finally got it to work thanks to you. I am truly overjoyed. I must confess that I had forgotten to update the binding to accord with the function. So, this is a case of human error coupled with the (false) expectation that org-roam 2 would behave in the same way it did in org-roam 1. I made other changes to my system, but those had nothing to do with the problem.

---

<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, 2021, 4:03pm UTC](https://org-roam.discourse.group/t/what-has-happened-to-org-roam-completion-frameworks-in-v-2/1786/17 "2021-07-21T16:03:03Z")

</div>

No worries. Good to know the idea and functions worked for you
