<!--
{
  "availability" : [
    "macOS: 10.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSWorkspace/runningApplications",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSWorkspace(py)runningApplications"
  },
  "title" : "runningApplications"
}
-->

# runningApplications

Returns an array of running apps.

```
var runningApplications: [NSRunningApplication] { get }
```

## Return Value

An array of  [`NSRunningApplication`](/documentation/AppKit/NSRunningApplication) instances. This value is key-value observing compliant.

## Discussion

The order of the array is unspecified, but it is stable, meaning that the relative order of particular apps will not change across multiple calls to `runningApplications`. See [`NSRunningApplication`](/documentation/AppKit/NSRunningApplication) for more information on `NSRunningApplication`.

Similar to the [`NSRunningApplication`](/documentation/AppKit/NSRunningApplication) class’s properties, this property will only change when the main run loop runs in a common mode.  Instead of polling, use key-value observing to be notified of changes to this array property.

You can safely call this method from any of your app’s threads. The method returns its value atomically.

---

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)