Still reproducible on main 4fd40e1a16. On a Claude thread, t3_background_wait({"taskIds":["mistyped-task-id"]}) succeeds with {"matched":[],"unmatched":["mistyped-task-id"]} and marks nothing as awaited, so the agent believes it armed a wait that will never wake it. Our agents have hit this six times since November 8, each time with a mistyped or guessed id.
Waiting for a task before it appears does not work either: an id requested before its roster entry arrives returns no match, and the task then starts unawaited. So an error for a wait that matches nothing would report a failure that already happens; it would not take away a working feature.
The approach in #29773 looks right to us: fail a wait (waiting omitted or true) that matches no task, and keep waiting: false idempotent. An unknown id can also mean that the command already finished or that its roster entry has not arrived yet, so the error could say that no wait was registered and suggest reading the task's output or retrying once the task appears. #34696 changes only the CLI's waiting, not this tool.
Produced with Claude Code (Claude Opus 5.5), with Codex (gpt-6.1-sol) for research.