N8N cloud: LangChain nodes appear as '?' on canvas

Community nodes from the n8n-nodes-langchain package are not loading correctly on my cloud instance. When I add them to the canvas (either by pasting a workflow or adding them manually), they appear with a “?” icon and a message that they are not installed.
However, the package does appear to be installed, because when I search for the nodes in the “Add Node” panel, I can see their internal actions listed. The issue seems to be a bug preventing the nodes from rendering correctly on the main workflow canvas.
We have tried extensive troubleshooting, including full browser cache clears, browser restarts, deleting and re-creating the workflow, duplicating the browser tab, and pasting the full JSON into a fresh workflow. The problem persists in every case.
What is the error message (if any)?
When opening a node like “Pinecone Vector Store”, the settings panel shows:
Install this node to use it. This node is not currently installed. It’s part of the n8n-nodes-langchain community package.
Please share your workflow
I am trying to build this workflow. I am pasting the JSON here, but the nodes will not load correctly on my canvas.
JSON
{
“name”: “Update Knowledge Base”,
“nodes”: [
{
“parameters”: {},
“id”: “764b8156-f567-4286-9a2c-7b4430e7efed”,
“name”: “Start”,
“type”: “n8n-nodes-base.start”,
“typeVersion”: 1,
“position”: [
240,
300
]
},
{
“parameters”: {
“authentication”: “oAuth2”,
“pollTimes”: {
“mode”: “everyMinute”
},
“folderId”: “”,
“watchFor”: “fileCreated”
},
“id”: “848e0255-a044-411a-829d-4347716e9197”,
“name”: “Google Drive Trigger”,
“type”: “n8n-nodes-base.googleDriveTrigger”,
“typeVersion”: 1.2,
“position”: [
460,
300
],
“credentials”: {
“googleDriveOAuth2Api”: {
“id”: “”,
“name”: “Google Drive account”
}
}
},
{
“parameters”: {
“authentication”: “oAuth2”,
“resource”: “file”,
“operation”: “download”,
“fileId”: “={{ $(‘Google Drive Trigger’).item.json.id }}”
},
“id”: “e2154585-8f6a-4d2a-89a5-eb459f3d9d59”,
“name”: “Download File”,
“type”: “n8n-nodes-base.googleDrive”,
“typeVersion”: 3.4,
“position”: [
680,
300
],
“credentials”: {
“googleDriveOAuth2Api”: {
“id”: “”,
“name”: “Google Drive account”
}
}
},
{
“parameters”: {
“operation”: “insert”,
“index”: “n8n”,
“namespace”: “oak-and-barrel”,
“embeddings”: {
“__rl”: true,
“mode”: “chain”,
“value”: “46914b53-41bb-41a4-b040-d9d300096230”
},
“documentLoader”: {
“__rl”: true,
“mode”: “chain”,
“value”: “69f46b1a-965a-4f40-9759-9941a313b5c5”
}
},
“id”: “b651030e-56e6-4279-9947-f70514a60c87”,
“name”: “Pinecone Vector Store”,
“type”: “n8n-nodes-langchain.vectorStorePinecone”,
“typeVersion”: 1,
“position”: [
900,
300
],
“credentials”: {
“pineconeApi”: {
“id”: “”,
“name”: “Pinecone account”
}
}
},
{
“parameters”: {
“model”: “text-embedding-3-small”
},
“id”: “46914b53-41bb-41a4-b040-d9d300096230”,
“name”: “OpenAI Embeddings”,
“type”: “n8n-nodes-langchain.embeddingsOpenAi”,
“typeVersion”: 1,
“position”: [
1140,
220
],
“credentials”: {
“openAiApi”: {
“id”: “”,
“name”: “OpenAI account”
}
}
},
{
“parameters”: {
“dataType”: “binary”,
“options”: {
“metadata”: {
“metadata”: [
{
“key”: “file”,
“value”: “={{ $(‘Google Drive Trigger’).item.json.name }}”
}
]
}
},
“textSplitter”: {
“__rl”: true,
“mode”: “chain”,
“value”: “57b16d1f-0e10-4352-87f5-a4f5f9e20601”
}
},
“id”: “69f46b1a-965a-4f40-9759-9941a313b5c5”,
“name”: “Data Loader”,
“type”: “n8n-nodes-langchain.documentLoaderDefault”,
“typeVersion”: 1,
“position”: [
1140,
380
]
},
{
“parameters”: {
“options”: {
“chunkSize”: 500,
“chunkOverlap”: 20
}
},
“id”: “57b16d1f-0e10-4352-87f5-a4f5f9e20601”,
“name”: “Recursive Character Text Splitter”,
“type”: “n8n-nodes-langchain.textSplitterRecursive”,
“typeVersion”: 1,
“position”: [
1360,
380
]
}
],
“connections”: {
“Google Drive Trigger”: {
“main”: [
[
{
“node”: “Download File”,
“type”: “main”,
“index”: 0
}
]
]
},
“Download File”: {
“main”: [
[
{
“node”: “Pinecone Vector Store”,
“type”: “main”,
“index”: 0
}
]
]
},
“Pinecone Vector Store”: {
“embeddings”: [
[
{
“node”: “OpenAI Embeddings”,
“type”: “embeddings”,
“index”: 0
}
]
],
“documentLoader”: [
[
{
“node”: “Data Loader”,
“type”: “documentLoader”,
“index”: 0
}
]
]
},
“Data Loader”: {
“textSplitter”: [
[
{
“node”: “Recursive Character Text Splitter”,
“type”: “textSplitter”,
“index”: 0
}
]
]
}
},
“active”: false,
“settings”: {
“executionOrder”: “v1”
}
}
Share the output returned by the last node
Not applicable, as the workflow cannot be executed because the nodes fail to load.
Information on your n8n setup
n8n version: Latest Cloud Version (I’m on a 14-day trial)
Database (default: SQLite): n8n Cloud default
n8n EXECUTIONS_PROCESS setting (default: own, main): n8n Cloud default
Running n8n via (Docker, npm, n8n cloud, desktop app): n8n Cloud
Operating system: N/A (using a web browser)

Hey @praxislinguae, go to your Admin Panel and restart your n8n instance. This should fix the issue.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.