I’m wondering if there is a way to deploy newly created custom nodes privately without having to restart my entire instance. I followed the tutorial on n8n docs and created a custom node. When I copied the node code files into the .n8n/custom directory of my running instance, the new node did not show up. It wasn’t until I reran my instance that the new node became available.
Am I understanding correctly that if I want to add new nodes to my locally hosted instance, I will need to kill the instance along with any running executions and bring it back up again? If this is the case, has there been any talk of the downtime this presents and ways to remedy that? Thank you!
Welcome to the community @antcangas Based on how n8n is built, you do have to restart your n8n instance for newly implemented or updated custom nodes to appear.
It is not possible to include new nodes without a restart because n8n stores and caches all the information about the nodes like their name, properties, icons etc. upon startup of the application, not as it processes your running n8n instance.
Thanks for getting back to me so quickly! I appreciate your response. I’m assuming that means, as far as you know, there’s no future plans to change this so it does process new nodes in real time?
You are welcome @antcangas so just to make sure, I don’t have knowledge of n8n’s future development plans as I’m a member of the community like yourself.
By the way, hot-reloading of custom nodes has been talked about multiple times but I do not think it is available yet idk.
Hot-reloading custom nodes without restart is a classic pain point. Workaround: if you’re using Docker, you could mount the .n8n/custom directory as a volume and handle node reloading in a wrapper script, but that’s pretty advanced. For now, batching your custom node changes and doing a planned restart is the most reliable approach. The n8n team is aware of this UX issue, but no ETA on hot-reload support yet.