# JavaScript scripting

**URL:** <https://community.openhab.org/t/javascript-scripting/170791>\
**Category:** Off-Topic\
**Created:** [October 26, 2026, 8:57pm UTC](https://community.openhab.org/t/javascript-scripting/170791 "2026-10-26T20:57:25Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![OMR](https://community.openhab.org/letter_avatar_proxy/v4/letter/o/94ad74/32.png) [@OMR](https://community.openhab.org/u/OMR)\
**Post date:** [October 26, 2026, 8:57pm UTC](https://community.openhab.org/t/javascript-scripting/170791/1 "2026-10-26T20:57:25Z")

</div>

Why do I have to run this every time I update OH?

```yaml
openhab> feature:install openhab-automation-jsscripting

```

Doesn’t persist through updates:

 ![image](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/8/e/8e1c82f17fb33f5b298b7bb8edbd32904cf68def.png)

 ![image](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/b/c/bc1676de8f5cf320157142b9ba1ef46c40c69184.png)

---

<div class="post-metadata">

**Author:** ![rlkoshak](https://community.openhab.org/user_avatar/community.openhab.org/rlkoshak/32/75251_2.png) [@rlkoshak](https://community.openhab.org/u/rlkoshak)\
**Post date:** [October 26, 2026, 9:08pm UTC](https://community.openhab.org/t/javascript-scripting/170791/2 "2026-10-26T21:08:44Z")

</div>

Have you ever edited $OH\_CONF/addons.cfg? Is this the only add-on that needs to be reinstalled?

I’ve never installed an add-on using the Karaf console. When you install it that way, does it get added to $OH\_USERDATA/config/org/openhab/addons.config?

Without further information all I could guess at is that using feature:install will add it until the next time the cache is cleared, which happens during an upgrade. It doesn’t actually permanently install it (i.e. it gets added to addons.config so OH know to reinstall it after a cache clearing).

---

<div class="post-metadata">

**Author:** ![OMR](https://community.openhab.org/letter_avatar_proxy/v4/letter/o/94ad74/32.png) [@OMR](https://community.openhab.org/u/OMR)\
**Post date:** [October 26, 2026, 9:37pm UTC](https://community.openhab.org/t/javascript-scripting/170791/3 "2026-10-26T21:37:40Z")

</div>

Yes. This is the only thing acting up.  
FYI: I’m on Ubuntu 26.04.1LTS

```yaml
omr@shs3:~$ printenv | grep OH_
omr@shs3:~$ printenv | grep OPENHAB
OPENHAB_HOME=/usr/share/openhab
OPENHAB_USERDATA=/var/lib/openhab
OPENHAB_CONF=/etc/openhab
OPENHAB_HTTPS_PORT=8443
OPENHAB_BACKUPS=/var/lib/openhab/backups
OPENHAB_HTTP_PORT=8080
OPENHAB_LOGDIR=/var/log/openhab
OPENHAB_GROUP=openhab
OPENHAB_RUNTIME=/usr/share/openhab/runtime
OPENHAB_USER=openhab
omr@shs3:~$

```

No addons.cfg in @OPENHAB\_CONF (and no OH\_ env vars at all)

```yaml
omr@shs3:~$ cat $OPENHAB_USERDATA/config/org/openhab/addons.config
:org.apache.felix.configadmin.revision:=L"181"
automation="jsscripting"
binding="ipcamera,wled,mail,samsungtv,systeminfo,daikin,matter,onkyo,harmonyhub,network,astro,nanoleaf,hyperion,squeezebox,denonmarantz,kodi,deconz,automower,zwave"
core-config-discovery-addon="usb,ip,sddp,upnp,mdns"
felix.fileinstall.filename="file:/var/lib/openhab/etc/org.openhab.addons.cfg"
includeIncompatible=B"true"
legacy="false"
misc=""
package="standard"
persistence=",influxdb"
remote=B"true"
service.bundleLocation="?openhab"
service.pid="org.openhab.addons"
transformation="regex,map,jsonpath,javascript"
ui="basic,habpanel"
omr@shs3:~$

```
