---
title: "LiveAssistanceRequest.Response.requiresUserInput(reason:)"
framework: LiveCommunicationKit
role: symbol
role_heading: Case
platforms: [iOS 27.2+, iPadOS 27.2+, Mac Catalyst 27.2+, macOS 27.2+, visionOS 27.2+]
path: "livecommunicationkit/liveassistancerequest/response/requiresuserinput(reason:)"
---

# LiveAssistanceRequest.Response.requiresUserInput(reason:)

A response that indicates the extension needs to complete a task in the container app before the request can proceed.

## Declaration

```swift
case requiresUserInput(reason: LiveAssistanceLaunchReason)
```

## Parameters

- `reason`: The reason the container app needs to collect more information.

## Discussion

Discussion Return this value from your implementations of prepareAssistanceRequest(_:) and resumeRequest(_:) when you need the person using the app to provide additional information. You use this case when you require actions like signing in, or setting a desired language for the interpreter service. The associated value reason supplies a LiveAssistanceLaunchReason to tell the container app what information it needs to collect. When you return this value, FaceTime shows a popup for the person to continue in your container app. If the person continues, FaceTime launches your container app with an NSUserActivity. After your app collects the required information, it calls returnToCall(requestID:) to re-invoke the extension with a call to resumeRequest(_:). If the person chooses not to launch your container app, the popup dismisses and the request ends. This response is deferral, not a failure. The request stays alive while the person interacts with the FaceTime popup. For genuine failures, your implementation of the LiveAssistanceExtension throws an error instead of returning a value.

## See Also

### Working with responses

- [LiveAssistanceRequest.Response.proceed](livecommunicationkit/liveassistancerequest/response/proceed.md)
- [LiveAssistanceLaunchReason](livecommunicationkit/liveassistancelaunchreason.md)
