Timeline comparing status timing for two tools in one turn. For client-executed edit_file, content_block_stop is not forwarded and activity rows bracket the dispatcher running the tool after message_stop. For Anthropic-executed web_search, activity in_progress fires at the server_tool_use block close and activity success when the web_search_tool_result block closes, all before message_stop.
time
message_stop
edit_file
· client-executed
content_block_stop
not forwarded: tool hasn’t run yet
dispatcher runs the tool
activity in_progress
activity success
web_search
· Anthropic-executed
Anthropic runs the search
content_block_stop
(server_tool_use)
activity in_progress
web_search_tool_result
block closes
activity success
my server executing
Anthropic executing
Hover or tap any event for what fires it — or a chip to isolate who is executing.
Status rows track whoever is actually executing
— not Anthropic’s block boundaries. Same two events, opposite sides of
message_stop
.