A foreground follow-up that continues a child whose job is already
backgrounded joined it through jobs.block, which returns a running handle
immediately. Claim the backgrounded generation instead: silence the
subagent.notify preference before the prompt is admitted, wait on the
job's done with jobs.wait, and return the final answer inline. A prompt
that never reaches the child releases the claim so the original launch
still reports.
A joined backgrounded job holds no block registration, so the user's
move-to-background cannot detach this explicit foreground wait.
Foreground becomes background plus a wait: an explicit background=false
starts the same job and blocks on it, returning the child result inline.
The tool description and docs now lead with background.