Clarify when to send asynchronous user messages (#41070)

## What changed

Expand the `send_user_message_async` tool description to:

- identify questions, blockers, significant findings, and in-progress replies as
  messages that may need immediate user attention;
- distinguish those messages from routine progress updates that belong in
  commentary;
- clarify that sending a message neither ends the turn nor waits for a reply;
  and
- encourage formatting questions so they are easy to notice and answer.

GitOrigin-RevId: 004ba7fd77b2e225a4baa2ab69d08660a2cf73d7
This commit is contained in:
rka-oai
2026-08-27 06:54:38 +00:00
committed by copyberry
parent 4cb8d8679c
commit 218a3e50ae
@@ -43,7 +43,7 @@ impl ToolExecutor<ToolInvocation> for SendUserMessageAsyncHandler {
ToolSpec::Function(ResponsesApiTool {
name: TOOL_NAME.to_string(),
description: "Send a concise, user-visible acknowledgment, important update, or blocking question. Returns immediately; any reply arrives asynchronously as a new user message."
description: "Send a concise message that needs the user's attention during ongoing work. The tool returns immediately without ending the turn or waiting for a reply; any reply arrives asynchronously as a new user message. Use this tool to ask for missing information, preferences, constraints, clarification, or approval; report a critical blocker or a finding that may change the task's direction; or answer a user question or status request received while work is still in progress. Use this tool when a message needs the user's immediate attention; use commentary for routine progress and intermediate context. Use clear formatting, such as bolding questions, to make requests easy to notice and answer."
.to_string(),
strict: false,
defer_loading: None,