Yeah, this lines up with how Vapi handles native tools.
"request-failed" without a proper system role basically leaves you with a spoken fallback, so the agent naturally drops back into silence-wait mode after it speaks it.
In practice, I’ve found the cleaner fix is to avoid relying on native SMS for this flow and move it into a custom tool so you fully control both success + failure routing instead of Vapi’s default handling.
Have you tried wrapping the SMS call as a function tool instead? @Playa