# How to disable the editor's built-in completion through API

**URL:** <https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981>\
**Category:** IntelliJ Platform\
**Tags:** plugin-development\
**Created:** [June 11, 2025, 2:08am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981 "2025-06-11T02:08:17Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 11, 2025, 2:08am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/1 "2025-06-11T02:08:17Z")

</div>

![图片](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/7/74d3098a310b7b6d980f6ecedf7ef92ac8c942a1.png)

In the picture, the editor’s built-in completion function has been disabled due to the installation of a plugin. How can we achieve a similar effect through the API

---

<div class="post-metadata">

**Author:** ![yuriy.artamonov](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/yuriy.artamonov/32/48_2.png) [@yuriy.artamonov](https://platform.jetbrains.com/u/yuriy.artamonov)\
**Post date:** [June 11, 2025, 7:27am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/2 "2025-06-11T07:27:18Z")

</div>

To best of my knowledge you can’t do that via API

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 11, 2025, 8:17am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/3 "2025-06-11T08:17:16Z")

</div>

What should be done to achieve a similar effect as shown in the picture

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [June 11, 2025, 2:01pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/4 "2025-06-11T14:01:34Z")

</div>

Just in case, does it work if you create an empty `.noai` file in your project?  
The JetBrains AI Assistant is supposed to disable itself when this file is present. I can’t say for the other integrated AI-powered features.

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 11, 2025, 3:22pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/5 "2025-06-11T15:22:03Z")

</div>

![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/5/5b6b683b8e6b5ca8b69b2d3c88155c2437269513.png)  
Is it created like this, but I’ve tried it and it seems like JetBrains AI Assistant hasn’t been disabled yet

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [June 11, 2025, 4:25pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/6 "2025-06-11T16:25:00Z")

</div>

It does not disable the plugin, only its features. [Restrict or Disable AI&nbsp;Assistant features | AI Assistant Documentation](https://www.jetbrains.com/help/ai-assistant/disable-ai-assistant.html#restrict-ai-assistant-usage-for-project)

But, I don’t know it this is helpful here.

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 12, 2025, 1:19am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/7 "2025-06-12T01:19:00Z")

</div>

I tried, but it didn’t work. I think this can be used for the creation of the current project. What I want is to develop a plugin, install it, and then disable JetBrains AI Assistant. Instead of manual operation

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [June 12, 2025, 11:36am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/8 "2025-06-12T11:36:57Z")

</div>

I’m not sure if a plugin should be able to disable other plugins… Users can still disable the AI Assistant and/or all the other AI-related plugins, and that’s it. The AI Assistant plugin no longer reactivates itself silently or on IDE upgrade (I know this was an issue in the past, but that’s fixed now).

Otherwise, there could be some alternatives (I did not check):

- (free) populate the `disabled_plugins.txt` file to include the AI Assistant plugin
- (paid) if you’re in a corporate environment, your company can manage a list of authorized plugins. JetBrains has an offer for that. I think this is [IDE Provisioner by JetBrains](https://www.jetbrains.com/ide-services/ide-provisioner/)

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 13, 2025, 3:12am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/9 "2025-06-13T03:12:12Z")

</div>

![9112384debe9b0ce57f4b3aec692aab5](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/6/6b8977923e271013b389deb276c4f93f3593fac7.jpeg)  
I added the ID of the AI Assistant plugin in the disabled. plugins. txt file. Is this ID correct or does it have no effect? Is it a problem with where I configured it  
 ![图片](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/a/ac9da6387228a3c25951fe857501e3da0164d2c9.png)  
Why can other plugins disable this completion

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [June 13, 2025, 10:17am UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/10 "2025-06-13T10:17:18Z")

</div>

Oh, wait, I think this completion is not handled by the AI Assistant. You may want to disable these:

 ![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/4/4380691625d192deffa31d02de5fcd513bf092d0.png)

Disable them in your IDE, then you will find their ID in the generated disabled\_plugins.txt file.

Also, I see you’re trying to disable plugins in a sandboxed IDE? You may want to proceed this way: [Disabling plugins during dev deployments? e.g. codeWithMe - #2 by jonathanlermitage.1](https://platform.jetbrains.com/t/disabling-plugins-during-dev-deployments-e-g-codewithme/1929/2)

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 13, 2025, 1:31pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/11 "2025-06-13T13:31:35Z")

</div>

![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/e/ef909f4fbfd67616ef9c8f25ed4a42981ae4cb24.png)  
These are the plugin IDs that come with 5 editors, all of which are included, but still have no effect

 ![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/7/74aab06c0728309b30c69b80b27f033def4c83c6.png)  
This is the effect of my plugin, which was not disabled. I am curious about how the image plugin I posted above was disabled

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [June 13, 2025, 1:34pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/12 "2025-06-13T13:34:19Z")

</div>

I’m not sure to understand. In the last screenshot, the code completions are all disabled. So, it worked?

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 13, 2025, 1:42pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/13 "2025-06-13T13:42:03Z")

</div>

Sorry, this is running in IDEA224.1 development mode and may not have been fully completed, which is why it shows as incomplete. I just tried packaging it and installing it on Pycharm 2024.3, and it showed that it was not successfully disabled

 ![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/3/3ef082e88b9ee0581f3cc3ce05d8a468a7521b4d.png)

---

<div class="post-metadata">

**Author:** ![mokloukong](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mokloukong/32/75_2.png) [@mokloukong](https://platform.jetbrains.com/u/mokloukong)\
**Post date:** [June 16, 2025, 3:40pm UTC](https://platform.jetbrains.com/t/how-to-disable-the-editors-built-in-completion-through-api/1981/14 "2025-06-16T15:40:08Z")

</div>

I have found the reason. These plugin names/IDs are officially included in JetBrains, so this is disabled. Thank you
