FlowiseAI/Flowise · error · Error

Failed to run FT.INFO command. Please ensure that you are ru

Error message

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

What it means

`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'.

Source

Thrown at packages/components/nodes/vectorstores/Redis/Redis.ts:284

            return results
        }

        if (output === 'retriever') {
            return vectorStore.asRetriever(k)
        } else if (output === 'vectorStore') {
            ;(vectorStore as any).k = k
            return vectorStore
        }
        return vectorStore
    }
}

const checkIndexExists = async (redisClient: ReturnType<typeof createClient>, indexName: string) => {
    try {
        await redisClient.ft.info(indexName)
    } catch (err: any) {
        if (err?.message.includes('unknown command')) {
            throw new Error(
                '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'
            )
        }
        // index doesn't exist
        return false
    }

    return true
}

const buildQuery = (
    query: number[],
    k: number,
    metadataKey: string,
    vectorKey: string,
    contentKey: string,
    filter?: string[]
): [string, SearchOptions] => {

View on GitHub (pinned to abe4a8601a)

Solutions

  1. Run a RediSearch-capable Redis: use the `redis/redis-stack` image or enable the module on your managed provider.
  2. Verify with `redis-cli FT._LIST` that search commands are present.
  3. Confirm the connection string points at the search-enabled instance (port/host).
  4. If on managed Redis, switch to a tier/plan that includes RediSearch (e.g. Redis Cloud Search tier).

Example fix

# before
redis-server  # plain redis -> FT.INFO unknown command

# after
docker run -p 6379:6379 redis/redis-stack:latest
Defensive patterns

Strategy: validation

Validate before calling

async function assertRediSearch(client: any) {
  try { await client.ft.info('__nonexistent__') } catch (e: any) {
    if (/unknown command/i.test(e?.message ?? '')) throw new Error('Redis lacks RediSearch; use redis/redis-stack')
  }
}

Type guard

null

Try / catch

try { await checkIndexExists(client, indexName) } catch (e) { throw new Error(`RediSearch prerequisite missing: ${(e as Error).message}`, { cause: e }) }

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/437b2d4c0251d0e2. Report an issue: GitHub.