Laravel AI v0.11.0 adds per-step and per-tool lifecycle events to agent runs, replacing the previous start/end-only reporting. Every run now gets a single invocation ID shared across provider failovers, StartingStep/StepCompleted/StepFailed fire around each provider round-trip with wall timings, and InvokingTool/ToolInvoked/ToolFailed now use per-invocation IDs that survive nesting. A new AgentFailed event reports run failures that previously went unreported, and sub-agents invoked as tools now carry parentInvocationId/parentToolInvocationId linking them to their parent run. Several event constructors gained required new arguments, requiring updates to any code that constructs them manually.
Table of contents
# One ID for the Whole Run# Step Events# Tool Events# Run Failure Events# Linking a Sub-Agent to Its Parent# Queued Listeners and Message History# Further ReadingQuestions this post answers
What new events does Laravel AI 0.11.0 add for tracing agent runs?
Laravel AI 0.11.0 adds StartingStep, StepCompleted, and StepFailed around every provider round-trip, plus ToolFailed for tool handler exceptions and AgentFailed for run-level failures. Every run gets one invocation ID shared across provider failovers, StepCompleted carries wall time in milliseconds matching QueryExecuted::$time, and sub-agents get parentInvocationId and parentToolInvocationId linking them to their parent run. daily.dev surfaces release breakdowns like this for teams instrumenting AI agent pipelines in Laravel.
Why did AgentFailedOver in Laravel AI require a code change when upgrading to 0.11.0?
AgentFailedOver now takes a required string invocationId as its first constructor argument, so any code manually constructing that event needs updating; listeners themselves are unaffected. Additionally, it no longer fires for the final provider in a failover chain, since that attempt has nothing left to fall back to and is reported through AgentFailed instead. Track breaking constructor changes like this on daily.dev before they break a Laravel upgrade.
How do I get timing and cost data for each step of a Laravel AI agent run?
Listen for the StepCompleted event, introduced in Laravel AI 0.11.0, which carries the full StepResponse plus a float time property measuring wall time spent in the provider call in milliseconds. This lets you log per-step token usage and duration as the run happens, rather than only getting bulk step usage from the terminal event with no timing attached. Developers wiring observability into Laravel AI agents follow updates like this on daily.dev.