# Strands State Strands Agents separates agent state into three distinct layers, which clarifies what the model actually "sees" versus what tools can use: - **Conversation History**: the messages, auto-preserved and passed to the model - **Agent State / App State**: key-value storage accessed by tools but **not** sent to the model context - **Invocation State**: values that persist within a single event-loop run, not in model context Tools reach state via a `ToolContext`. This layering is what lets agents carry working data (IDs, config, scratch values) without bloating the [[Context Window|context window]] or leaking internals into the prompt. It underpins session management and memory. ## Related - [[Strands Agents]] - [[Strands Agent Loop]] - [[Strands Context Management]] - [[Context Window]]