# \[FAQ\] Why is the io.Connect JavaScript API (Glue() / IODesktop()) available globally without any import?

**URL:** <https://community.interop.io/t/faq-why-is-the-io-connect-javascript-api-glue-iodesktop-available-globally-without-any-import/370>\
**Category:** io.Connect Desktop\
**Tags:** FAQs\
**Created:** [November 19, 2025, 3:44pm UTC](https://community.interop.io/t/faq-why-is-the-io-connect-javascript-api-glue-iodesktop-available-globally-without-any-import/370 "2025-11-19T15:44:02Z")\
**Posts on this page:** 2\
**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:** [November 19, 2025, 3:44pm UTC](https://community.interop.io/t/faq-why-is-the-io-connect-javascript-api-glue-iodesktop-available-globally-without-any-import/370/1 "2025-11-19T15:44:02Z")

</div>

In inherited code, I see calls like `await Glue({...})` / `await IODesktop({...})`, but I can’t find any `@interopio/desktop` dependency in `package.json` or any `<script>` tag that loads it. How is this API loaded?

---

<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:** [November 29, 2025, 5:08pm UTC](https://community.interop.io/t/faq-why-is-the-io-connect-javascript-api-glue-iodesktop-available-globally-without-any-import/370/2 "2025-11-29T17:08:58Z")

</div>

The JavaScript API is automatically injected into every window and attached to the global window object. io.Connect Desktop uses the `@interopio/desktop` library, which exposes a global factory function called `IODesktop()` when your app is running in an io.Connect Window (and supports the older `Glue()` factory function name for backward compatibility).

On the system level, io.Connect Desktop is told to inject a specific version of `@interopio/desktop` into every window via the `windows.autoInjectAPI` section in `system.json` - [io.Connect Desktop Documentation - How to... \> Interop-Enable Your Apps \> JavaScript](https://docs.interop.io/desktop/getting-started/how-to/interop-enable-your-apps/javascript/index.html)

How to check it?

- Open your io.Connect Desktop **`system.json`** file for the environment you’re running.

- Find the `"windows"` section and look for `"autoInjectAPI"`. You should see something like:

The auto-injected bundles themselves are shipped with io.Connect Desktop and live under:

```auto
<installation_location>/interop.io/io.Connect Desktop/Desktop/assets/preloads

```
