<!--
{
  "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:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "App Intents",
      "AppIntents"
    ],
    "preciseIdentifier" : "s:10AppIntents0A6IntentPAAE13requestChoice7between6dialogAA0cE6OptionVSayAHG_AA0C6DialogVSgtYaKF"
  },
  "title" : "requestChoice(between:dialog:)"
}
-->

# requestChoice(between:dialog:)

Pauses the app intent and asks the person to choose an option from the specified list.

```
func requestChoice(between options: [IntentChoiceOption], dialog: IntentDialog? = nil) async throws -> IntentChoiceOption
```

## Parameters

`options`

The options to choose from. The prompt displays the options in the same
order as 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.

## 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)