diff --git a/packages/frontend/editor-ui/src/app/stores/nodeTypes.store.ts b/packages/frontend/editor-ui/src/app/stores/nodeTypes.store.ts index b5ff40f8800..87a0289e8ec 100644 --- a/packages/frontend/editor-ui/src/app/stores/nodeTypes.store.ts +++ b/packages/frontend/editor-ui/src/app/stores/nodeTypes.store.ts @@ -10,6 +10,7 @@ import { HTTP_REQUEST_NODE_TYPE, CREDENTIAL_ONLY_HTTP_NODE_VERSION, MODULE_ENABLED_NODES, + AI_TRANSFORM_NODE_TYPE, } from '@/app/constants'; import { STORES } from '@n8n/stores'; import type { NodeTypesByTypeNameAndVersion } from '@/Interface'; @@ -220,10 +221,18 @@ export const useNodeTypesStore = defineStore(STORES.NODE_TYPES, () => { }); const visibleNodeTypes = computed(() => { + // Instance AI replaces the legacy "AI Transform" node; hide it from the + // creator/search when the instance has Instance AI on. + const instanceAiActive = + settingsStore.isModuleActive('instance-ai') && + settingsStore.moduleSettings['instance-ai']?.enabled !== false; return allLatestNodeTypes.value .concat(officialCommunityNodeTypes.value) .concat(moduleEnabledNodeTypes.value) - .filter((nodeType) => !nodeType.hidden); + .filter( + (nodeType) => + !nodeType.hidden && !(instanceAiActive && nodeType.name === AI_TRANSFORM_NODE_TYPE), + ); }); const nativelyNumberSuffixedDefaults = computed(() => {