# Vision Current User in Alarm Display Path

**URL:** <https://forum.inductiveautomation.com/t/vision-current-user-in-alarm-display-path/116193>\
**Category:** Ignition\
**Tags:** scripting, vision, ignition81\
**Created:** [June 29, 2026, 5:03pm UTC](https://forum.inductiveautomation.com/t/vision-current-user-in-alarm-display-path/116193 "2026-06-29T17:03:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mcolson1590](https://avatars.discourse-cdn.com/v4/letter/m/e8c25b/32.png) [@mcolson1590](https://forum.inductiveautomation.com/u/mcolson1590)\
**Post date:** [June 29, 2026, 5:03pm UTC](https://forum.inductiveautomation.com/t/vision-current-user-in-alarm-display-path/116193/1 "2026-06-29T17:03:42Z")

</div>

Within Vision on Ignition Edge 8.1, I'm trying to capture the current user on a client in an alarm when a setpoint is changed. I have the following script, but the [client]\_Setup/CurrentUser shows up as null even though I've verified there is a value by adding the tag to a screen. Is there a way I can get this to work? I verified using a lowercase c for Client by copying the path.

```python
if({[.]../Cfg_Tag}!="P_Alarm",{[.]../Cfg_Tag} + " : ","") +
if({[.]Cfg_Tag}!="P_Alarm",{[.]Cfg_Tag} + " : ","") +

{[.]../Cfg_Desc} + " : " + {[.]Cfg_Cond} +

if({[.]Cfg_Cond}="Setpoint Change",
" : user " + {[client]_Setup/CurrentUser} +
" : SP " + toStr({[.]../Out_Spa}) +
" " + toStr({[.]../Cfg_Eu}),
"")

```

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [June 29, 2026, 5:25pm UTC](https://forum.inductiveautomation.com/t/vision-current-user-in-alarm-display-path/116193/2 "2026-06-29T17:25:49Z")

</div>

Generally, tags and alarms execute on the gateway, independent of any particular client instance; therefore you cannot access the `[client]` tag provider or tags in the `[System]Client` folder from "regular" tags.

Think of it this way - what would this alarm's display path evaluate to if there was no client launched at the time? Or if there were two clients launched simultaneously?

You need to flip the model around - the UI layer needs to "push" state in to whatever you're doing, rather than the tag layer "pulling" from the user interface.

For instance,

> [@mcolson1590](#):
>
> when a setpoint is changed

Is this a direct binding? If you make it a script instead you can capture the user at submission time and use that in your script to make the edit to the tag.

---

<div class="post-metadata">

**Author:** ![mcolson1590](https://avatars.discourse-cdn.com/v4/letter/m/e8c25b/32.png) [@mcolson1590](https://forum.inductiveautomation.com/u/mcolson1590)\
**Post date:** [June 30, 2026, 3:37pm UTC](https://forum.inductiveautomation.com/t/vision-current-user-in-alarm-display-path/116193/3 "2026-06-30T15:37:29Z")

</div>

Thanks. I added a tag to my Setpoint UDT and capture the user when entering a new value. I reference that tag in the display path.
