For basic persistence, use
Agent(memory={"session_id": "my-session"}). See Session Persistence.Quick Start
Multi-Worker Safety
Multiple processes can share one session directory — reads reload when the on-disk file changes.| Operation | Safe under concurrency |
|---|---|
get_extended_session() | Yes — mtime-checked cache |
add_message() | Yes — locked read-modify-write |
fork_session() | Yes — reloads parent first |
create_snapshot() / revert_to_snapshot() | Yes — atomic under lock |
Best Practices
Snapshot before risky edits
Snapshot before risky edits
Call
create_snapshot() before experimental branches or bulk rewrites. revert_to_snapshot() restores the parent in one step.Fork for parallel exploration
Fork for parallel exploration
Use
fork_session(..., from_message_index=N) to branch from a specific turn without losing the parent transcript.Related
Session Store
Default and hierarchical store APIs
Session Protocol
Custom Redis/Postgres backends

