n8n-io/n8n · error · NodeOperationError

Index ${credentials.pineconeIndex} not found

Error message

Index ${credentials.pineconeIndex} not found

What it means

In ChatHubVectorStorePinecone.populateVectorStore the node calls Pinecone listIndexes() and throws a NodeOperationError if the configured index name (credentials.pineconeIndex) is not present. This is a pre-flight check before inserting documents so the user gets a clear message instead of a Pinecone SDK error.

Source

Thrown at packages/@n8n/nodes-langchain/nodes/vector_store/ChatHubVectorStorePinecone/ChatHubVectorStorePinecone.node.ts:173

			return results.map(([doc, score]) => [
				{ ...doc, metadata: filterChatHubMetadata(doc.metadata, CHAT_HUB_RETRIEVE_METADATA_KEYS) },
				score,
			]);
		};

		return store;
	},
	async populateVectorStore(context, embeddings, documents, itemIndex) {
		const credentials = await context.getCredentials<ChatHubVectorStorePineconeApiCredentials>(
			'chatHubVectorStorePineconeApi',
		);
		const namespaceName = getUserScopedSlot(context, credentials.namespacePrefix, itemIndex);

		const client = new Pinecone({ apiKey: credentials.apiKey });

		const indexes = ((await client.listIndexes()).indexes ?? []).map((i) => i.name);
		if (!indexes.includes(credentials.pineconeIndex)) {
			throw new NodeOperationError(
				context.getNode(),
				`Index ${credentials.pineconeIndex} not found`,
				{
					itemIndex,
					description: 'Please check that the index exists in your Pinecone account',
				},
			);
		}

		const pineconeIndex = client.Index(credentials.pineconeIndex);

		await PineconeStore.fromDocuments(filterChatHubInsertDocuments(documents), embeddings, {
			namespace: namespaceName,
			pineconeIndex,
		});
	},
}) {}

View on GitHub (pinned to 5ac6606e81)

Solutions

  1. Create the index in the Pinecone console (or via API) with the exact name and matching dimension before running the workflow.
  2. Verify the index name spelling and casing in the node's pineconeIndex credential field.
  3. Confirm the API key points to the Pinecone project that contains the index.
  4. If the index was just created, wait ~1-2 minutes for it to become ready and retry.
Defensive patterns

Strategy: validation

Validate before calling

// List indexes before populating; create if missing.
const indexes = ((await client.listIndexes()).indexes ?? []).map(i => i.name);
if (!indexes.includes(credentials.pineconeIndex)) {
  throw new Error(`Pinecone index '${credentials.pineconeIndex}' not found in this project. Found: ${indexes.join(', ')}`);
}

Prevention

When it happens

Trigger: client.listIndexes() returns the list of index names for the API key's project, and credentials.pineconeIndex is not in that list (case-sensitive).

Common situations: The Pinecone index has not been created yet; typo in the index name; the API key belongs to a different Pinecone project/environment that does not contain the index; the index was just created and is still initializing (Pinecone reports it as not found until ready).

Related errors


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/9084b233b01f3dc9. Report an issue: GitHub.