A background stream can change the active runtime ref while session.create is in flight. That mismatch aborted every first send: no prompt.submit, no stored row, and an empty tab. Abort only when route and selection moved to a chat whose runtime is not the one create returned.