Performance

Your Mac's beach ball won't stop spinning — what to do

Short answerThe spinning beach ball means one app has stopped answering — it is no longer picking up your clicks and keystrokes. The Mac itself is usually fine. Three things to settle, in order:
  • One app, or all of them? Click a different app in the Dock. If that one works normally, a single app is stuck. If everything drags, the Mac is short of memory or disk instead.
  • Will it come back? Run sample on the app twice, a minute apart. If the deepest line of its main thread changes, it is still working. Identical both times means it is stuck.
  • Force quitting costs you. Anything you had not saved in that app is gone, and a frozen app usually cannot save. Wait a few minutes before you spend that.

You clicked something, and the pointer turned into a spinning ball of colour. The app will not take a click. Its menus will not open, and the window is a frozen picture of whatever you were doing a moment ago.

One question decides everything you do next: is it this app, or every app? Click another app in the Dock and see whether it answers. If it does, one app is stuck and the rest of this page is for you. If the whole Mac crawls, that is a different problem with different fixes. Or let Noah quit the stuck app for you — more on what it can and cannot do at the end.

First, check whether it's one app or all of them

The beach ball spins over one window — but other apps still switch, scroll, and type normally.

This takes five seconds and decides which page you should be reading. Click a different app in the Dock, or press ⌘ Tab. If that app answers straight away, your Mac is healthy and exactly one app is stuck.

If instead everything is slow — every app beachballs, switching takes seconds, typing lags — nothing is frozen. The Mac has run short of memory or disk space, and the fix is completely different.

Fixone app stuck, everything else fine? Carry on down this page. Everything slow at once? Go to why your Mac is slow instead, or check whether memory has spilled onto the disk.

What the spinning ball actually means

An app spends its life waiting for you. Clicks, keystrokes and scrolls arrive as events — small messages from macOS saying what you did — and the app picks each one up, does the work, and redraws its window. It handles them on its main thread, which is the single line of work inside the app that deals with you.

The main thread can only do one thing at a time. If something it started takes a long while — reading an enormous file, waiting on a server, waiting on another program — it is not collecting your events while that runs. After a couple of seconds macOS notices that the app has stopped answering, and draws the spinning ball over its window.

So the ball is not an error, and it is not a crash. It is macOS telling you this app is not listening right now. That leaves the only question that matters: is it busy, or is it stuck?

Find out whether it will come back

The ball has spun for more than a minute or two, and you cannot tell whether waiting longer will help.

You can look at what the app is doing without touching it. The sample command watches a running app for a few seconds and reports where its time went. It takes a snapshot every millisecond, then hands the app straight back — it does not close anything, and it needs no special permission for an app of your own. Open Terminal (⌘ Space, type Terminal) and run it on the stuck app:

zsh — Terminal
% sample Finder 3 -mayDie
Sample result
Analysis of sampling Finder (pid 1217) every 1 millisecond
Call graph:
    2596 Thread_10723   DispatchQueue_1: com.apple.main-thread  (serial)
    +   2596 NSApplicationMain  (in AppKit) + 880
    +     2596 -[NSApplication run]  (in AppKit) + 368
    +       2596 _DPSNextEvent  (in AppKit) + 576
    +         2595 RunCurrentEventLoopInMode  (in HIToolbox) + 320
    +           2560 __CFRunLoopRun  (in CoreFoundation) + 1188
    +             2560 __CFRunLoopServiceMachPort  (in CoreFoundation) + 160
    +               2560 mach_msg2_trap  (in libsystem_kernel.dylib) + 8

Real output from a healthy Finder, shortened — the full report lists every thread. Replace Finder with the name of your stuck app. Three seconds of watching, then a moment to look up the names.

Read the deepest indented line under the main thread and ignore the rest. The run above is what a perfectly healthy app looks like: mach_msg2_trap underneath __CFRunLoopRun means the app is sitting still, waiting for the next event. That is an app with nothing to do, not an app in trouble.

On a stuck app that bottom line will be something else. The name usually hints at what it is waiting for — reading a file, a network call, or another program that has not replied. Run the command a second time, a minute later, and compare:

  • The deepest line changed. The app is still getting through work. Give it longer.
  • The deepest line is identical. It has been waiting in the same place for a minute. It is stuck, and waiting will not fix it.

Fixstill working? Leave it alone and come back in ten minutes. Stuck in the same place twice? Force quit it, below.

Force quit it — and what that costs

Force quitting stops the app instantly, without letting it tidy up or save. A process here is one running program as macOS counts it. Apple's own guide to quitting one is blunt: “If the process has files open, you may lose data.”

Anything you had typed and not saved in that app is gone, and a frozen app generally cannot save on the way out. That is the whole cost, and it is why the two checks above come first. Once you accept it, Apple's steps are three keys:

  1. Press ⌥ ⌘ Esc together — or choose Force Quit from the menu.
  2. Select the unresponsive app in the list.
  3. Click Force Quit, and confirm.

Fixreopen the app afterwards. Many apps — Word, Pages, Preview, most browsers — offer to restore the documents or tabs you had open, which recovers more than people expect. If the same app freezes repeatedly, update it: a hang that happens every time is a bug in that app, not a fault in your Mac.

NoahNoah cannot see the freeze itself. Nothing in it watches whether an app is answering, so you tell it which app is stuck. It can read a processor-ranked list of what is running, which separates a frozen app that is burning processor from one sitting idle. Neither state settles whether it will recover — that is still the two-sample check above. With your approval, it can quit the stuck app. Opening it again afterwards is your step. The unsaved work is lost either way — that part no tool can rescue.

If you want the full picture: spindump

macOS has a heavier tool called spindump, which records what every running program is doing rather than one app. You mostly do not need it, and it will stop you at the door unless you run it with sudo:

zsh — Terminal
% spindump Finder 1 -o /tmp/spin.txt
Sample result
spindump must be run as root when sampling the live system

The real refusal. Putting sudo in front makes it run and asks for your password. sample, above, needs no password and answers the question you actually have.

It matters for one reason: macOS already runs it for you. When you force quit an app that had stopped answering, the system writes a spindump report of its own accord and files it in /Library/Logs/DiagnosticReports/. If you ever report a repeated freeze to an app's developer, that folder is where the evidence they want already is.

The short version

  1. Click another app. Only one stuck? Keep reading. Everything slow? Different problem.
  2. If the app was doing something heavy, wait a few minutes.
  3. Run sample AppName 3 -mayDie twice, a minute apart.
  4. Deepest line changed — still working, wait. Identical — stuck.
  5. Force quit with ⌥ ⌘ Esc, knowing unsaved work is lost, then reopen.
Try Noah free

A Mac that answers again.

Just tell Noah what's wrong:

An app on my Mac is frozen and the beach ball won't stop spinning.
Unfreeze my Mac freeFirst conversation freeNew customers: 7-day free trialOnly with your OK

Already have Noah? Open it on this problem →

Frequently asked questions

What does the spinning beach ball on a Mac mean?

It means one app has stopped answering. Apps handle your clicks and keystrokes on a single main thread. If something that thread started takes too long — a huge file, a slow server, another program that has not replied — it stops collecting your input while that runs. After a couple of seconds macOS draws the spinning ball over that app's window. It is not a crash and not an error; it is a notice that the app is not listening at the moment.

How long should I wait for the beach ball to stop?

If you had just asked the app to do something heavy, give it a few minutes. To stop guessing, open Terminal and run sample AppName 3 -mayDie twice, about a minute apart, and compare the deepest indented line under the main thread. If it changed, the app is still working through something and waiting will pay off. If it is identical both times, it has been stuck in one place for a minute and will not recover on its own.

How do I force quit an app on a Mac?

Press Option (or Alt), Command and Esc together, or choose Force Quit from the Apple menu. Select the unresponsive app, then click Force Quit. The app stops immediately without saving, so do the waiting checks first if what you had open matters.

Will I lose my work if I force quit?

Yes, anything unsaved in that app is lost — Apple's own wording is that if the process has files open, you may lose data. A frozen app cannot usually save on its way out either. It is not always a total loss, though: reopen the app afterwards, because many apps restore the documents or tabs you had open, and some keep their own autosaved copy.

Why does my Mac beach ball in every app?

Then nothing is frozen and force quitting will not help. Beachballing across all your apps means the Mac has run short of a resource. Most often that is memory, so it has started using the drive as overflow, or a drive with almost no free space left. Those have their own fixes, starting with finding which app ate the memory.

Is the spinning beach ball a sign my Mac is failing?

Usually not. A ball that appears occasionally, in one app, during heavy work is normal behaviour on a healthy Mac. What deserves a look is a pattern. The same app freezing every time you do the same thing points at a bug in that app, so update it or report it to the developer. Every app freezing points at memory or disk space instead.

Commands in this guide are standard, read-only macOS diagnostics unless noted; anything that changes your system is called out. When in doubt, back up first with Time Machine.