Newly created custom node not appearing in local n8n instance

Help needed with custom n8n node visibility

I’ve just finished creating a custom node for n8n. I built it successfully, but I’m running into a problem. When I check my local n8n instance on my website, I can’t find my custom node in the list. I’m not sure what I’m doing wrong.

Here’s a simplified version of my code:

class CustomHelper implements INodeType {
  description: INodeTypeDescription = {
    displayName: 'Helper Test',
    name: 'helperTest',
    icon: 'file:helper.svg',
    group: ['utility'],
    version: 1,
    description: 'Send a message to Helper',
    inputs: ['main'],
    outputs: ['main'],
    credentials: [{ name: 'helperApi', required: true }],
    properties: [{
      displayName: 'Input',
      name: 'input',
      type: 'string',
      required: true,
      description: 'Enter your input',
      routing: { request: { method: 'GET', url: 'API_ENDPOINT' } },
      default: 'fetch'
    }]
  };
}

Can anyone help me figure out why my custom node isn’t showing up? Thanks in advance!

I encountered a similar issue when developing custom nodes. Ensure you’ve properly compiled your TypeScript code to JavaScript. The compiled files should be in the ‘dist’ directory. Also, verify that your package.json file includes the correct paths for the ‘main’ and ‘n8n’ fields. These should point to the compiled JavaScript files, not the TypeScript source. If everything seems correct, try clearing your browser cache or using an incognito window to rule out any caching issues. Lastly, double-check that your node’s name in the description object matches the filename (excluding the extension).

As someone who’s gone through the custom node creation process, I can relate to your frustration. One crucial step that’s often overlooked is updating the ‘nodes’ property in your package.json file. Make sure it includes the path to your new node, like this: “nodes”: [“dist/nodes/Helper/Helper.node.js”]. Additionally, verify that your node’s class name matches the filename (e.g., HelperNode for Helper.node.ts). If these checks don’t solve the issue, try running ‘npm run build’ to ensure all files are properly compiled. Lastly, don’t forget to restart your n8n instance after making these changes - it’s a common oversight that can save you hours of troubleshooting!

hey there! did u try restarting ur n8n instance after adding the custom node? sometimes it needs a lil kick to recognize new stuff. also, make sure ur node is in the right directory (usually /nodes) and that u’ve registered it properly in the index file. hope this helps!