Skip to content

langgraph.cache.redis.RedisCache does not work with async redis client #6247

@rafaelrpinto

Description

@rafaelrpinto

Checked other resources

  • This is a bug, not a usage question. For questions, please use the LangChain Forum (https://forum.langchain.com/).
  • I added a clear and detailed title that summarizes the issue.
  • I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example).
  • I included a self-contained, minimal example that demonstrates the issue INCLUDING all the relevant imports. The code run AS IS to reproduce the issue.

Example Code

from typing_extensions import TypedDict
from typing import Any
from langgraph.graph import StateGraph, START, END
from langgraph.types import CachePolicy
from langgraph.cache.redis import RedisCache
from redis.asyncio import Redis as AsyncRedis
from redis import Redis as SyncRedis
import asyncio

import os


class State(TypedDict):
    test: bool


async def main() -> None:

    host: Any = os.environ.get("REDIS_HOST")
    port: Any = os.environ.get("REDIS_PORT")
    password = os.environ.get("REDIS_PASSWORD")

    # async redis does not work
    redis = AsyncRedis(host=host, port=int(port), password=password)

    # sync redis works
    # redis = SyncRedis(host=host, port=int(port), password=password)

    redis_cache = RedisCache(
        redis=redis,
        prefix="foo",
    )

    graph_builder = StateGraph(State)

    graph_builder.add_node(
        "foo",
        lambda state: state,
        cache_policy=CachePolicy(ttl=86400),
    )

    graph_builder.add_edge(START, "foo")

    graph_builder.add_edge("foo", END)

    graph = graph_builder.compile(cache=redis_cache)

    await graph.ainvoke({"test": True})

    print("OK")


asyncio.run(main())

Error Message and Stack Trace (if applicable)

Traceback (most recent call last):
  File "/path/to/my/project/minimal.py", line 53, in <module>
    asyncio.run(main())
    ~~~~~~~~~~~^^^^^^^^
  File "/home/user/.local/share/uv/python/cpython-3.13.7-linux-x86_64-gnu/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/home/user/.local/share/uv/python/cpython-3.13.7-linux-x86_64-gnu/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/home/user/.local/share/uv/python/cpython-3.13.7-linux-x86_64-gnu/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/path/to/my/project/minimal.py", line 48, in main
    await graph.ainvoke({"test": True})
  File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/pregel/main.py", line 3179, in ainvoke
    async for chunk in self.astream(
    ...<29 lines>...
            chunks.append(chunk)
  File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/pregel/main.py", line 2995, in astream
    for task in await loop.amatch_cached_writes():
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/pregel/_loop.py", line 1266, in amatch_cached_writes
    for key, values in (await self.cache.aget(tuple(cached))).items():
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/cache/redis/__init__.py", line 82, in aget
    return self.get(keys)
           ~~~~~~~~^^^^^^
  File "/path/to/my/project/.venv/lib/python3.13/site-packages/langgraph/cache/redis/__init__.py", line 68, in get
    for i, raw_value in enumerate(raw_values):
                        ~~~~~~~~~^^^^^^^^^^^^
TypeError: 'coroutine' object is not iterable
<sys>:0: RuntimeWarning: coroutine 'Redis.execute_command' was never awaited

Description

The new langgraph.cache.redis.RedisCache does not work with an asynchronous Redis client when used with a graph, despite what the constructor comment suggests.

System Info

System Information

OS: Linux
OS Version: #33~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 19 17:02:30 UTC 2
Python Version: 3.13.7 (main, Sep 2 2025, 14:21:46) [Clang 20.1.4 ]

Package Information

langchain_core: 0.3.76
langchain: 0.3.27
langchain_community: 0.3.30
langsmith: 0.4.28
langchain_openai: 0.3.33
langchain_redis: 0.2.4
langchain_text_splitters: 0.3.11
langgraph_sdk: 0.2.9

Optional packages not installed

langserve

Other Dependencies

aiohttp<4.0.0,>=3.8.3: Installed. No version info available.
anyio: 4.10.0
async-timeout<5.0.0,>=4.0.0;: Installed. No version info available.
certifi: 2025.8.3
dataclasses-json<0.7.0,>=0.6.7: Installed. No version info available.
httpcore: 1.0.9
httpx-sse<1.0.0,>=0.4.0: Installed. No version info available.
httpx<1,>=0.23.0: Installed. No version info available.
httpx>=0.25.2: Installed. No version info available.
jinja2: 3.1.6
jsonpatch<2.0,>=1.33: Installed. No version info available.
langchain-anthropic;: Installed. No version info available.
langchain-aws;: Installed. No version info available.
langchain-azure-ai;: Installed. No version info available.
langchain-cohere;: Installed. No version info available.
langchain-community;: Installed. No version info available.
langchain-core<1.0.0,>=0.3.72: Installed. No version info available.
langchain-core<1.0.0,>=0.3.76: Installed. No version info available.
langchain-core<2.0.0,>=0.3.75: Installed. No version info available.
langchain-deepseek;: Installed. No version info available.
langchain-fireworks;: Installed. No version info available.
langchain-google-genai;: Installed. No version info available.
langchain-google-vertexai;: Installed. No version info available.
langchain-groq;: Installed. No version info available.
langchain-huggingface;: Installed. No version info available.
langchain-mistralai;: Installed. No version info available.
langchain-ollama;: Installed. No version info available.
langchain-openai;: Installed. No version info available.
langchain-perplexity;: Installed. No version info available.
langchain-text-splitters<1.0.0,>=0.3.9: Installed. No version info available.
langchain-together;: Installed. No version info available.
langchain-xai;: Installed. No version info available.
langchain<2.0.0,>=0.3.27: Installed. No version info available.
langsmith-pyo3>=0.1.0rc2;: Installed. No version info available.
langsmith<1.0.0,>=0.1.125: Installed. No version info available.
langsmith>=0.1.17: Installed. No version info available.
langsmith>=0.3.45: Installed. No version info available.
numpy>=1.26.2;: Installed. No version info available.
numpy>=2.1.0;: Installed. No version info available.
openai-agents>=0.0.3;: Installed. No version info available.
openai<2.0.0,>=1.104.2: Installed. No version info available.
opentelemetry-api>=1.30.0;: Installed. No version info available.
opentelemetry-exporter-otlp-proto-http>=1.30.0;: Installed. No version info available.
opentelemetry-sdk>=1.30.0;: Installed. No version info available.
orjson>=3.10.1: Installed. No version info available.
orjson>=3.9.14;: Installed. No version info available.
packaging>=23.2: Installed. No version info available.
pydantic-settings<3.0.0,>=2.10.1: Installed. No version info available.
pydantic<3,>=1: Installed. No version info available.
pydantic<3.0.0,>=2.7.4: Installed. No version info available.
pydantic>=2.7.4: Installed. No version info available.
pytest>=7.0.0;: Installed. No version info available.
python-ulid: 3.1.0
PyYAML<7.0.0,>=5.3.0: Installed. No version info available.
PyYAML>=5.3: Installed. No version info available.
redisvl: 0.8.2
requests-toolbelt>=1.0.0: Installed. No version info available.
requests<3,>=2: Installed. No version info available.
requests<3.0.0,>=2.32.5: Installed. No version info available.
requests>=2.0.0: Installed. No version info available.
rich>=13.9.4;: Installed. No version info available.
SQLAlchemy<3,>=1.4: Installed. No version info available.
SQLAlchemy<3.0.0,>=1.4.0: Installed. No version info available.
tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available.
tiktoken<1,>=0.7: Installed. No version info available.
typing-extensions: 4.15.0
typing-extensions>=4.7: Installed. No version info available.
urllib3: 2.5.0
vcrpy>=7.0.0;: Installed. No version info available.
zstandard>=0.23.0: Installed. No version info available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpendingawaiting review/confirmation by maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions