langgraph-persistence

Configure LangGraph checkpointers, thread state, time travel, and cross-thread memory stores.

Updated Jul 16, 2026
One-click install
npx skills add https://github.com/flemx/salesforce-langgraph-agent --skill langgraph-persistence-flemx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: langgraph-persistence
Source: https://github.com/flemx/salesforce-langgraph-agent/tree/main/.agents/skills/langgraph-persistence
Command: npx skills add https://github.com/flemx/salesforce-langgraph-agent --skill langgraph-persistence-flemx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? LangGraph agents lose conversation state between invocations unless persistence is configured correctly. This Skill guides you through checkpointing, thread management, state history, and long-term memory so your graphs remember conversations and survive restarts. ## Core Features & Use Cases - Checkpointer Setup: Configure InMemorySaver for development or PostgresSaver for production, with correct compile-time wiring. - Thread & Time Travel: Isolate conversations with thread_id, browse checkpoint history, replay or fork from past states, and update state manually. - Subgraph Scoping & Store: Choose the right checkpointer mode for subgraphs (False, None, True) and use a Store for cross-thread long-term memory like user preferences. - Use Case: You are building a multi-turn support agent that must remember each user's conversation across sessions and share preferences across threads. Use this Skill to wire PostgresSaver, thread IDs, and an InMemoryStore correctly. ## Quick Start Ask the agent to add Postgres-backed checkpointing and thread-scoped memory to your LangGraph graph so conversations persist across restarts.

Frequently Asked Questions about langgraph-persistence

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I persist LangGraph state between invocations?

Compile your graph with a checkpointer and always pass a thread_id in the config. The checkpointer saves state at every super-step, and the thread_id identifies which checkpoint sequence to resume.

Which LangGraph checkpointer should I use for production?

Use PostgresSaver for production since it persists state in PostgreSQL and survives restarts. InMemorySaver is only for testing, and SqliteSaver suits local development.

Why does my LangGraph agent not remember previous messages?

The most common cause is missing thread_id in the invoke config, which means no checkpoint is loaded. Provide config with configurable.thread_id so state persists across calls.

How do I time travel or replay from a past checkpoint in LangGraph?

Call get_state_history with your thread config to list checkpoints, then invoke with None input and a past checkpoint's config to replay. Use update_state on a past checkpoint to fork a new branch.

Can a LangGraph subgraph have its own checkpointer?

Yes, compile the subgraph with checkpointer=True for cross-invocation memory, False to opt out, or omit it for interrupt support without multi-turn memory. Stateful subgraphs cannot be called multiple times in one node due to namespace conflicts.

Why does update_state append instead of replacing my list?

update_state passes values through the state's reducers, so lists with add reducers get appended. Wrap the value in Overwrite to replace the existing state instead.