Overwrite Stored Session State

Demonstrates replacing persisted session_state with run-time session_state.

overwrite_stored_session_state.py
"""
Overwrite Stored Session State
==============================

Demonstrates replacing persisted session_state with run-time session_state.
"""

from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIResponses
from agno.team import Team

# ---------------------------------------------------------------------------
# Create Team
# ---------------------------------------------------------------------------
team = Team(
    model=OpenAIResponses(id="gpt-5.2"),
    db=SqliteDb(db_file="tmp/agents.db"),
    members=[],
    markdown=True,
    session_state={},
    add_session_state_to_context=True,
    overwrite_db_session_state=True,
)

# ---------------------------------------------------------------------------
# Run Team
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    team.print_response(
        "Can you tell me what's in your session_state?",
        session_state={"shopping_list": ["Potatoes"]},
        stream=True,
    )
    print(f"Stored session state: {team.get_session_state()}")

    team.print_response(
        "Can you tell me what is in your session_state?",
        session_state={"secret_number": 43},
        stream=True,
    )
    print(f"Stored session state: {team.get_session_state()}")

Replacement scope

With overwrite_db_session_state=True, each call uses the supplied state instead of merging in the old database state. The second call therefore removes shopping_list and keeps secret_number, along with Agno's current run/session bookkeeping keys. This setting replaces stored state for this session; it does not delete earlier run records.

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai sqlalchemy

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run the example

Save the code above as overwrite_stored_session_state.py, then run:

python overwrite_stored_session_state.py

Full source: cookbook/03_teams/21_state/overwrite_stored_session_state.py