<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 12.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INVoiceShortcutCenter/getAllVoiceShortcuts(completion:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(cs)INVoiceShortcutCenter(im)getAllVoiceShortcutsWithCompletion:"
  },
  "title" : "getAllVoiceShortcuts(completion:)"
}
-->

# getAllVoiceShortcuts(completion:)

Retrieves all shortcuts added to Siri for your app.

```
func getAllVoiceShortcuts(completion completionHandler: @escaping @Sendable ([INVoiceShortcut]?, (any Error)?) -> Void)
```

```
func allVoiceShortcuts() async throws -> [INVoiceShortcut]
```

## Parameters

`completionHandler`

The block invoked on a background thread after the system retrieves the list of shortcuts. This block has no return value and takes the following parameters:

- voiceShortcuts: An array of [`INVoiceShortcut`](/documentation/Intents/INVoiceShortcut) objects. This parameter is `nil` when an error occurs.
- error: An <doc://com.apple.documentation/documentation/Foundation/NSError> object if a problem occurred retrieving the shortcuts; otherwise, `nil`.

## Discussion

Let users know when an action they perform in your app has an associated shortcut. For example, a user has created a shortcut in the soup-ordering app Soup Chef that allows them to place an order for tomato soup by speaking the phrase “Soup time.” The app shows the phrase in the user’s order history, reminding them that the shortcut exists and of the phrase to speak in order to invoke the shortcut in Siri.

![A screenshot of the order history screen in the Soup Chef app showing the invocation phrase for the shortcut.](images/com.apple.sirikit/media-3027138@2x.png)

The app uses the [`getAllVoiceShortcuts(completion:)`](/documentation/Intents/INVoiceShortcutCenter/getAllVoiceShortcuts(completion:)) method to retrieve the list of shortcuts associated to the app. The list contains shortcuts added to Siri with [`INUIAddVoiceShortcutViewController`](/documentation/IntentsUI/INUIAddVoiceShortcutViewController) and those added by the user in the Settings app.

The listing below retrieves shortcuts associated with the Soup Chef app.

```swift
public func updateVoiceShortcuts(completion: (() -> Void)?) {
    INVoiceShortcutCenter.shared.getAllVoiceShortcuts { (voiceShortcutsFromCenter, error) in
        if let voiceShortcutsFromCenter = voiceShortcutsFromCenter {
            self.voiceShortcuts = voiceShortcutsFromCenter
        } else {
            if let error = error as NSError? {
                os_log("Failed to fetch voice shortcuts with error: %@", log: OSLog.default, type: .error, error)
            }
        }

        if let completion = completion {
            completion()
        }
    }
}
```

## See Also

  <doc://com.apple.sirikit/documentation/SiriKit/soup-chef-accelerating-app-interactions-with-shortcuts>



---

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)