<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/AppIntent/requestChoice(between:dialog:content:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "App Intents",
      "SwiftUI",
      "AppIntents"
    ],
    "preciseIdentifier" : "s:10AppIntents0A6IntentP01_aB8_SwiftUIE13requestChoice7between6dialog7contentAA0cG6OptionVSayAJG_AA0C6DialogVSgqd__yXEtYaK0dE04ViewRd__lF"
  },
  "title" : "requestChoice(between:dialog:content:)"
}
-->

# requestChoice(between:dialog:content:)

Pauses the app intent, asks the person to choose from the specified options, and
provides additional content related to those options.

```
func requestChoice<Content>(between options: [IntentChoiceOption], dialog: IntentDialog? = nil, @ViewBuilder content: () -> Content) async throws -> IntentChoiceOption where Content : View
```

## Parameters

`options`

The options to choose from. The prompt displays the options in the
same order they appear in the array, with one exception. If the list includes
the [`cancel`](/documentation/AppIntents/IntentChoiceOption/cancel) option, the system places that option according
to the platform’s conventions.

`dialog`

The localized text you want the system to display or speak. Provide instructional
text or a question to help the person choose an option.

`content`

A closure that returns the view to display with the prompt. Use this closure
to return a view with information to help someone make a decision.

## Return Value

The option the person chose.

## Discussion> Throws: An error if the person chooses a cancel option from the interface.

Call this method from the [`perform()`](/documentation/AppIntents/AppIntent/perform()) method of your app intent when you
need someone to confirm an action, disambiguate from a set of possibilities, or select
an intent-specific behavior before proceeding. The system displays a standard interface
with the provided set of options and asks the person to choose one. When someone makes a
selection, the method returns the option and your app intent continues to run.
This method throws an error if someone cancels the request using a cancel button, a
[`cancel`](/documentation/AppIntents/IntentChoiceOption/cancel) option, or a system-provided gesture.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)