{"record":{"id":"437b2d4c0251d0e2","repo":"FlowiseAI/Flowise","slug":"failed-to-run-ft-info-command-please-ensure-that","errorCode":null,"errorMessage":"Failed to run FT.INFO command. Please ensure that you are running a RediSearch-capable Redis instance: https://js.langchain.com/docs/modules/data_connection/vectorstores/integrations/redis#setup","messagePattern":"Failed to run FT\\.INFO command\\. Please ensure that you are running a RediSearch-capable Redis instance: https://js\\.langchain\\.com/docs/modules/data_connection/vectorstores/integrations/redis#setup","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/components/nodes/vectorstores/Redis/Redis.ts","lineNumber":284,"sourceCode":"            return results\n        }\n\n        if (output === 'retriever') {\n            return vectorStore.asRetriever(k)\n        } else if (output === 'vectorStore') {\n            ;(vectorStore as any).k = k\n            return vectorStore\n        }\n        return vectorStore\n    }\n}\n\nconst checkIndexExists = async (redisClient: ReturnType<typeof createClient>, indexName: string) => {\n    try {\n        await redisClient.ft.info(indexName)\n    } catch (err: any) {\n        if (err?.message.includes('unknown command')) {\n            throw new Error(\n                'Failed to run FT.INFO command. Please ensure that you are running a RediSearch-capable Redis instance: https://js.langchain.com/docs/modules/data_connection/vectorstores/integrations/redis#setup'\n            )\n        }\n        // index doesn't exist\n        return false\n    }\n\n    return true\n}\n\nconst buildQuery = (\n    query: number[],\n    k: number,\n    metadataKey: string,\n    vectorKey: string,\n    contentKey: string,\n    filter?: string[]\n): [string, SearchOptions] => {","sourceCodeStart":266,"sourceCodeEnd":302,"githubUrl":"https://github.com/FlowiseAI/Flowise/blob/abe4a8601a058047b350c260676826e21dd14101/packages/components/nodes/vectorstores/Redis/Redis.ts#L266-L302","documentation":"`checkIndexExists` calls `redisClient.ft.info(indexName)`; if Redis responds with 'unknown command' the client treats RediSearch as absent and throws a guided error pointing at the LangChain Redis setup docs. This is a hard environment prerequisite failure, not a transient network error. Other ft.info failures (e.g. index missing) are swallowed and treated as 'index does not exist'.","triggerScenarios":"Connecting to a Redis server without the RediSearch module loaded (plain redis, not redis-stack); older Redis that lacks the `FT.INFO` command; connecting to a Redis-compatible proxy that does not implement search commands.","commonSituations":"Using vanilla Redis instead of Redis Stack; running Redis < 2.0 of RediSearch; container image mismatch (redis vs redis/redis-stack); managed Redis that does not include search.","solutions":["Run a RediSearch-capable Redis: use the `redis/redis-stack` image or enable the module on your managed provider.","Verify with `redis-cli FT._LIST` that search commands are present.","Confirm the connection string points at the search-enabled instance (port/host).","If on managed Redis, switch to a tier/plan that includes RediSearch (e.g. Redis Cloud Search tier)."],"exampleFix":"# before\nredis-server  # plain redis -> FT.INFO unknown command\n\n# after\ndocker run -p 6379:6379 redis/redis-stack:latest","handlingStrategy":"validation","validationCode":"async function assertRediSearch(client: any) {\n  try { await client.ft.info('__nonexistent__') } catch (e: any) {\n    if (/unknown command/i.test(e?.message ?? '')) throw new Error('Redis lacks RediSearch; use redis/redis-stack')\n  }\n}","typeGuard":"null","tryCatchPattern":"try { await checkIndexExists(client, indexName) } catch (e) { throw new Error(`RediSearch prerequisite missing: ${(e as Error).message}`, { cause: e }) }","preventionTips":["Deploy `redis/redis-stack` (not plain `redis`).","On managed Redis, pick a plan that includes RediSearch.","Health-check FT._LIST at startup before ingestion.","Document the module dependency where the connection is configured."],"tags":["redis","redisearch","setup","environment","network"],"backgroundTag":null,"analyzedSha":"abe4a8601a058047b350c260676826e21dd14101","analyzedAt":"2026-08-12T16:04:40.823Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}