# OPC Quick Client doesn't show nodes from a custom Device-API driver (8.3.3)

**URL:** <https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524>\
**Category:** Module Development\
**Created:** [July 24, 2026, 3:46am UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524 "2026-07-24T03:46:26Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![rm.severs1](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@rm.severs1](https://forum.inductiveautomation.com/u/rm.severs1)\
**Post date:** [July 24, 2026, 3:46am UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/1 "2026-07-24T03:46:26Z")

</div>

Following up on the earlier thread about Quick Client returning in [8.3.1/8.3.2](https://forum.inductiveautomation.com/t/8-3-opc-ua-quick-client-any-alternative-for-now/110759)— it's back on my 8.3.3 gateway, but it doesn't seem to render nodes from a custom driver built on the `Device`/`DeviceExtensionPoint` API (the newer `AbstractDeviceModuleHook` style, not a legacy driver).

Repro:

- Confirmed via logging that the node is created with a valid `NodeId` and the reference to `Devices` is added, no exceptions anywhere in the device lifecycle.
- In Designer's `View > OPC Browser`, the node shows up correctly as a sibling entry under `Devices` (e.g. `[MyDevice]`), fully populated with children.
- In the Gateway's `Config > OPC UA > Quick Client`, browsing the same `Ignition OPC UA Server` connection and expanding `Devices` shows nothing for this driver — not even the empty root folder. Full gateway restarts don't change this.

Is this a known gap in the 8.3 Quick Client reimplementation, or should I be doing something differently in the driver to make it visible there? Happy to share more of the driver code if useful.

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [July 24, 2026, 4:14am UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/2 "2026-07-24T04:14:16Z")

</div>

My SNMP driver doesn't have any issues with the Quick Client (in 8.3.6, at least):

 ![20260724_001036](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/4/34f6806cbddc58a29fde8e2e8fc8cb021d0ebd69.png)

> <https://github.com/mussonindustrial/embr/blob/8.3/main/modules/snmp/gateway/src/main/kotlin/com/mussonindustrial/embr/snmp/agents/opc/DiagnosticAddressSpace.kt>

---

<div class="post-metadata">

**Author:** ![rm.severs1](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@rm.severs1](https://forum.inductiveautomation.com/u/rm.severs1)\
**Post date:** [July 24, 2026, 5:50am UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/3 "2026-07-24T05:50:54Z")

</div>

Hmmm, thanks for that. Gave me a couple things to try, but no luck yet.

Starting to look like this is an issue with my docker instance. Tried making a simulated device and even thats not showing up in Quick client.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 24, 2026, 11:07am UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/4 "2026-07-24T11:07:13Z")

</div>

Do you have a reverse proxy in front of it or anything?

The QC had, or still has, a bug with URL encoding or something that causes symptoms like this, and it was more prevalent when a reverse proxy is in front.

Going from memory here so the details are fuzzy 🙃

---

<div class="post-metadata">

**Author:** ![rm.severs1](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@rm.severs1](https://forum.inductiveautomation.com/u/rm.severs1)\
**Post date:** [July 24, 2026, 1:53pm UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/5 "2026-07-24T13:53:36Z")

</div>

Hey Kevin,

I do have a reverse proxy in front of the ignition container, but the REST API 'devices' I made are in the same network as the ignition container

---

<div class="post-metadata">

**Author:** ![Marcus\_Sysum](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/marcus_sysum/32/57944_2.png) [@Marcus\_Sysum](https://forum.inductiveautomation.com/u/Marcus_Sysum)\
**Post date:** [July 24, 2026, 2:39pm UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/6 "2026-07-24T14:39:12Z")

</div>

The semicolons are not being properly encoded so the reverse proxy is treating as an alternate parameter separator in the query string. This is just a quick client issue.

If using Traefik configure Traefik to [URL-encode semicolons](https://doc.traefik.io/traefik/reference/install-configuration/entrypoints/#encodequerysemicolons) before forwarding:

Add the following to the command block in the `docker-compose.yml` or directly add it to the Traefik `config.yml`.

`--entrypoints.web.http.encodeQuerySemicolons=true`

---

<div class="post-metadata">

**Author:** ![rm.severs1](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@rm.severs1](https://forum.inductiveautomation.com/u/rm.severs1)\
**Post date:** [July 24, 2026, 4:12pm UTC](https://forum.inductiveautomation.com/t/opc-quick-client-doesnt-show-nodes-from-a-custom-device-api-driver-8-3-3/116524/7 "2026-07-24T16:12:10Z")

</div>

Nailed it!

That was exactly the issue, everything seems to be working now. Thank you!

Ignition continues to rock
