Hello n8n community,
I’m on a little mission: to disable the Execute Command node in my self-hosted n8n instance. Sounds simple, right? Well, it turns out it’s a bit like trying to hide from your shadow on a sunny day—no matter what you do, it just won’t disappear.
Here’s the deal: I’m running n8n without Docker (because why keep things simple?), and I want to make sure the Execute Command node — the one that runs shell commands on the host machine — is nowhere to be seen or used. After all, security first, and that node feels like handing out keys to the server.
I’ve read everywhere about the magical environment variable NODES_EXCLUDE that is supposed to banish this node from the UI and from backend availability. So I carefully crafted my .env file with:
text
NODES_EXCLUDE=['n8n-nodes-base.executeCommand']
I’ve done this everywhere — the /root/.n8n directory, the home directory, even tried putting it in the exact folder where I launch n8n from (because obviously it wants to be spoiled). I’ve restarted n8n, restarted my server, even whispered sweet nothings to my terminal. Yet, the cheeky Execute Command node is still there, proudly waving at me every time I create a new workflow.
I’m not missing a semicolon; my syntax is rock solid. Yet it’s like this node refuses to be excluded. The docs and other folks’ guidance seem to point straight to this method, but for me, it’s like trying to disable the T-1000 from Terminator—it regenerates no matter what.
Has anyone faced this phantom-node situation? Am I missing some secret incantation or a hidden config file that I need to tweak? Or is n8n just playing hard to get with me?
Any insights on how to truly silence the Execute Command node on a self-hosted, no-Docker n8n environment without resorting to hacking the core (because I’d rather keep my workflow intact and my sanity too) would be most appreciated!
Thanks in advance,
A hopeful node-excluder