How to Get Current Session Messages During Tool Execution

Hello,

I’m trying to implement an LLM-as-a-judge approach that runs before tool execution. For this, I need access to the entire conversation history, including the current run.

However, when using tool pre_hooks, I can only access previous sessions, not the current run. This seems to be because Agno keeps the current run’s messages in memory only and does not persist them anywhere yet.

Has anyone found a way around this?

I know I could manually write data into session_state, but consider a flow like this:

user: do this
agent: user asked me to do this, let me proceed
tool1: call
agent: tool call successful, notify user
tool2: call
agent: case is closed, bye

With state updates alone, it’s not possible for me to capture the agent’s intermediate behavior and reasoning. What I really need is all messages that have already been sent to the LLM provider, including the current one, available inside the tool execution before it happens.

Is there a supported way to access the current run’s message history, or is this a limitation of the current design?