# \[FAQ\] Disabling the Default Search Provider in io.Connect

**URL:** <https://community.interop.io/t/faq-disabling-the-default-search-provider-in-io-connect/474>\
**Category:** io.Connect Desktop\
**Tags:** FAQs\
**Created:** [January 30, 2026, 3:22pm UTC](https://community.interop.io/t/faq-disabling-the-default-search-provider-in-io-connect/474 "2026-01-30T15:22:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [January 30, 2026, 3:22pm UTC](https://community.interop.io/t/faq-disabling-the-default-search-provider-in-io-connect/474/1 "2026-01-30T15:22:46Z")

</div>

io.Connect offers a **Search API** that you can enable in your apps by:

1. Installing the `@interopio/search-api` library, and
2. Initialising io.Connect Desktop with the `IOSearch` factory in the `libraries` array - [io.Connect Desktop Documentation - Search \> JavaScript](https://docs.interop.io/desktop/capabilities/search/javascript/index.html)

io.Connect Desktop includes a built‑in (default) search provider and you can add custom search providers for your own domains.

In some cases, you may want finer control like:

- Use only your custom providers for certain queries, or
- Disable the default search provider entirely so it never runs, or
- Keep it enabled globally but exclude it from specific queries.

Here’s how

* * *

## Option 1 – Disable the Default Search Provider via `system.json`

If you don’t want the default provider to run at all, you can disable it globally in `system.json`. Simply use the top-level `searchProvider` key:

```auto
{
  "searchProvider": {
    "enabled": false
  }
}

```

**Effect:**

- The built‑in provider is disabled.
- Desktop will not return its own results (apps, Workspaces, Layouts, actions).
- All search results must come from your own custom search providers.

If you still want the default provider, but only for some types (e.g., Workspaces and Layouts only), configure `types` instead:

```auto
{
  "searchProvider": {
    "enabled": true,
    "types": ["workspace", "layout"]
  }
}

```

* * *

## Option 2 – Keep the Default Provider Enabled but Exclude It Per Query

If you want more flexibility, for example:

- Keep the default provider enabled for general user search, but
- Have some search clients or use cases that should only query certain providers (e.g., a custom provider) and effectively ignore the default one

You can do that in JavaScript using the Search API by targeting only the providers you want to execute the query. Below is a base logic in the search provider, where we only print out the search to ensure such a query is received:

```JS
const provider = await io.search.registerProvider({ name: "customProvider" });
provider.onQuery((q) => {
    console.log(q)
    q.done();
});

```

And from the application executing the search, list all providers and execute the search query only on the one that you want to perform the search. Alternatively, if you have several search providers, you can filter out the default provider:

```JS
const expectedProviderName = "customProvider";
const providerData = (await io.search.listProviders()).find((p) => p.name === expectedProviderName);
await io.search.query({ search: "clientlist", providers: [providerData] });

```

**Docs**  
[io.Connect Desktop Documentation - Search \> Overview](https://docs.interop.io/desktop/capabilities/search/overview/index.html#default-search-provider)
