# Application not responding

Collector for macOS records *application not responding* events from devices in much the same way as Collector for Windows. Applications that do not respond to user input have a negative impact on the overall experience of employees and thus are an important part of the Digital Experience Score (DEX). Refer to [DEX score](https://docs.nexthink.com/platform/user-guide/dex-score) documentation for more information.

The technique employed by Collector to determine whether an application is not responding on macOS differs from the method used on Windows. This article describes how Collector measures an application not responding to events on each platform.

### Application not responding on Windows <a href="#applicationnotresponding-applicationnotrespondingonwindows" id="applicationnotresponding-applicationnotrespondingonwindows"></a>

On Windows, Collector regularly checks the responsiveness of applications by sending messages to their open windows. When an application does not process these messages timely, the system creates a new application not responding event.

To detect unresponsive applications on Windows, the Nexthink Collector relies on the Windows API `IsHungAppWindow`. According to [Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-ishungappwindow), an application is considered not responsive when:

* It is not waiting for input.
* It is not performing startup processing.
* Has not called the `PeekMessage` function within an internal 5-second timeout period.

The Collector samples this API every 30 seconds and reports an application freeze only when the application fails to check for new user input within the 5-second window. This approach allows Nexthink to identify applications that do not respond promptly to user interactions.

Application freezes can have multiple causes, such as excessive processing on the main UI thread. Unlike application logs, which rely on developer instrumentation, this detection mechanism works independently of application logging. Application logs usually capture only severe failures. This approach consistently identifies both complete freezes and short periods of unresponsiveness, even when the application continues to run but responds slowly.

### Application not responding on macOS <a href="#applicationnotresponding-applicationnotrespondingonmacos" id="applicationnotresponding-applicationnotrespondingonmacos"></a>

On macOS, Collector relies on the operating system logs to know whether an application is not responding. However, macOS reports unresponsiveness only after the user has forcefully quit an application.

For example, if an application is not responsive at some point, but eventually recovers, Collector does not report the application as not responding as long as the employee did not force the application to quit.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/references/database-information-and-organization/application-not-responding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
