# What is the idiomatic way to check if we are in RD mode?

**URL:** <https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148>\
**Category:** IntelliJ Platform\
**Tags:** remote-development\
**Created:** [March 29, 2025, 6:24pm UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148 "2025-03-29T18:24:26Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mik.kondratek](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mik.kondratek/32/113_2.png) [@mik.kondratek](https://platform.jetbrains.com/u/mik.kondratek)\
**Post date:** [March 29, 2025, 6:24pm UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148/1 "2025-03-29T18:24:26Z")

</div>

Hello 👋

I wonder - what is the proper way to check if a plugin is run in an IDE in RD mode?

I found:

```auto
AppMode.isRemoteDevHost()

```

but it refers to an internal API.

I found:

```auto
ClientSessionsManager.getAppSession(ClientId.current)?.isRemote

```

but it refers to an experimental API.

Are there any alternatives???

Kind regards,  
Mikołaj Kondratek

---

<div class="post-metadata">

**Author:** ![Vyacheslav.Moklev](https://avatars.discourse-cdn.com/v4/letter/v/bb73d2/32.png) [@Vyacheslav.Moklev](https://platform.jetbrains.com/u/Vyacheslav.Moklev)\
**Post date:** [April 7, 2025, 8:51am UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148/2 "2025-04-07T08:51:26Z")

</div>

There is only an internal API to get this information, indeed.

For a backend/host process, the correct method is `AppMode.isRemoteDevHost()`.  
Alternatively, if you want to get an application/project client session, there are internal extension properties: `Application.currentSession` and `Project.currentSession`.

For a frontend/client process, the correct method is `PlatformUtils.isJetBrainsClient()`.

---

<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:** [August 8, 2025, 7:36am UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148/3 "2025-08-08T07:36:53Z")

</div>

Could you please tell us more about tasks you want to solve using these APIs? It would help us a lot to organize it better

---

<div class="post-metadata">

**Author:** ![mik.kondratek](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/mik.kondratek/32/113_2.png) [@mik.kondratek](https://platform.jetbrains.com/u/mik.kondratek)\
**Post date:** [August 12, 2025, 12:12pm UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148/4 "2025-08-12T12:12:22Z")

</div>

I am working on a plugin that provides inline completions. AFAIK there are two approaches available - completion provider API and inlays. Inlay seem to provide more flexibility and allow more advanced solutions but they do not work in RD mode.

The other thing is that some UI components (dialogs, popups) seem to work less stable in RD mode.

---

<div class="post-metadata">

**Author:** ![Ning\_Liu](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@Ning\_Liu](https://platform.jetbrains.com/u/Ning_Liu)\
**Post date:** [May 14, 2026, 2:22am UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148/5 "2026-05-14T02:22:33Z")

</div>

Hey @yuriy.artamonov , we’d like to have an telemetry to identify how many users are using `remdev` and install the plugin on `server only`.

Looks like `AppMode.isRemoteDevHost()` can be used but it’s an internal API. Do you have any suggestions on this?

---

<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:** [May 14, 2026, 7:16am UTC](https://platform.jetbrains.com/t/what-is-the-idiomatic-way-to-check-if-we-are-in-rd-mode/1148/6 "2026-05-14T07:16:50Z")

</div>

Please use IdeProductMode API

> **[Provide public alternative to com.intellij.idea.AppMode : IJPL-182310](https://youtrack.jetbrains.com/issue/IJPL-182310/Provide-public-alternative-to-com.intellij.idea.AppMode)**
>
> "com.intellij.idea.AppMode" is often needed to be able to distinguish different types of applications frontend/backend for Remote Development
