msvcp140_atomic_wait.dll was not found: what this C++ runtime file does and how to restore it
msvcp140_atomic_wait.dll is a satellite of msvcp140.dll in Microsoft's Visual C++ runtime. It carries newer C++ library functions that did not fit into msvcp140.dll without breaking older programs: atomic waiting, the thread pool behind parallel algorithms and the time zone database. Windows does not install it on its own, so the fix is the current Visual C++ Redistributable from Microsoft.
Prefer to fix it yourself? The manual steps follow.
Download msvcp140_atomic_wait.dll the official way
14.51.36247.0Install the current Microsoft Visual C++ Redistributable (version 14.51.36247.0). It writes msvcp140_atomic_wait.dll next to msvcp140.dll in the Windows system folders, together with the other runtime files it needs, and registers the package so that later updates and repairs replace all of them at once.
Microsoft builds this file for all three architectures, so pick by the program, not by the PC. On 64-bit Windows install both the x64 and the x86 package: a 32-bit program loads the x86 copy from SysWOW64 even on a 64-bit PC. On a Windows on ARM device install the ARM64 package for programs built for ARM, and add x64 or x86 if the program that fails is one of those.
“DLL files only” is for a program that expects the runtime in its own folder, or a PC where the installer refuses to run: msvcp140_atomic_wait.dll together with msvcp140.dll, vcruntime140.dll and the other files of the same package (version 14.51.36247.0), unpacked unchanged from Microsoft's installer for each architecture. A free uGetFix account is needed to download. Sign in, or create one in a minute, and you return straight to this page.
We downloaded the three installers from Microsoft on October 18, 2026 and unpacked them to read the files inside. The download page shows each installer's size and SHA-256 checksum, so you can compare the file you receive. The installers come from Microsoft's own server (aka.ms).

Step by step
- Check which runtime you have. Open Settings, Apps, Installed apps and type “Visual C++” in the search box. You are looking for “Microsoft Visual C++ 2015-2022 Redistributable” or “Microsoft Visual C++ v14 Redistributable”, once for x64 and once for x86. Note the version number of each.
- Missing, or only one of the two: install. Run the x64 installer and the x86 installer from the links above, accept the licence and start the program again. Installing a package that is already there does no harm; the installer only offers to repair it.
- Version below 14.28: update. msvcp140_atomic_wait.dll did not exist in the first releases of the 2015-2022 family. A runtime installed in the Visual Studio 2015 or 2017 years has msvcp140.dll but not this file. Running the current installer over the old one upgrades it in place and adds the file; nothing needs to be removed first.
- Current version: repair. Open the menu next to each Visual C++ entry, choose Modify, then Repair. The repair writes fresh copies of msvcp140_atomic_wait.dll, msvcp140.dll and the rest of the package into System32 and SysWOW64. Restart only if the installer asks for it.
- One program still fails: look in its folder. Programs and games often carry their own msvcp140.dll beside their .exe, and Windows loads that copy before the one in System32. If the program brought an old msvcp140.dll but no msvcp140_atomic_wait.dll, the two files on the PC come from different versions. Reinstall the program, or in Steam open Properties, Installed files, Verify integrity of game files.
What not to do
Do not fetch msvcp140_atomic_wait.dll from a DLL download site.
You get one loose file of unknown origin, often without saying whether it is the x86, x64 or ARM64 build, and nothing replaces it when Microsoft ships a fix. If a program really needs the files in its own folder, use “DLL files only” above, which are unpacked from Microsoft's installer; to judge a copy you already have, use the checker below.
Do not mix it with an msvcp140.dll from another version.
This file imports functions from msvcp140.dll and is built to sit beside the msvcp140.dll of the same release. Copying a newer msvcp140_atomic_wait.dll next to an old msvcp140.dll, or the other way round, swaps a “not found” error for an entry point error. Keep the files of one package together.
Do not copy it into System32 by hand.
The installer does not know about a file you placed yourself. The next update or repair may skip it, and you are left with a file from one version next to companions from another. Let the redistributable put it there.
Do not run regsvr32 on it.
msvcp140_atomic_wait.dll is a plain function library with 32 exported functions and no registration entry point. regsvr32 only answers with another error, and registering it would fix nothing anyway.
Do not delete the other copies you find.
Microsoft apps and many programs keep a private copy in their own folders. Winbindex lists 39 distinct builds of this file inside Windows 11 images and updates. They belong to their programs, and removing one breaks that program rather than the error.
Check the copy on your PC
Choose the msvcp140_atomic_wait.dll you have. Its checksums are calculated in your browser and compared with 44 builds we know: the files from the current official redistributable, the copies indexed from Windows images and the older versions found on PCs.
The file stays on your computer. Nothing is uploaded: the checksum is computed locally.
Found an msvcp140_atomic_wait.dll in Downloads, Temp, ProgramData or beside a program you never installed? That is a security question rather than a missing-file one. How to tell if msvcp140_atomic_wait.dll is malware, on 2-Spyware
The error messages and what each one means
Each wording points at a different cause: the file is absent, too old for the program, unusable, or only the place where a program crashed. These are the texts Windows shows.

The code execution cannot proceed because MSVCP140_ATOMIC_WAIT.dll was not found. Reinstalling the program may fix this problem.
The wording of Windows 10 and Windows 11. The program was built with a Visual Studio version that uses this file, and the PC has no runtime for that program's architecture, or one too old to contain it. msvcp140.dll is often present at the same time. Install the current x64 and x86 packages.
The program can't start because MSVCP140_ATOMIC_WAIT.dll is missing from your computer. Try reinstalling the program to fix this problem.
The same situation in the older wording of Windows 7 and 8. The fix is the same: the current redistributable for both architectures.
The procedure entry point [function name] could not be located in the dynamic link library MSVCP140_ATOMIC_WAIT.dll.
A file was found, but it is older than the program. Microsoft has added functions to this file over the years, and a copy from an earlier runtime lacks the newer ones. Install the current package, then look for an outdated private copy in the program's folder.
MSVCP140_ATOMIC_WAIT.dll is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support.
A file with that name could not be loaded: it is empty, damaged, or not a genuine build. This is typical after a copy from a DLL site. Repair the redistributable, delete any stray copy in the program's folder and reinstall that program.
The application was unable to start correctly (0xc000007b). Click OK to close the application.
32-bit and 64-bit files are mixed. Usually an x86 runtime file was placed where a 64-bit program loads it, or the reverse, most often in the program's own folder. Remove hand-copied runtime files there and repair both packages.
Faulting module name: MSVCP140_ATOMIC_WAIT.dll
A line in the Application log of Event Viewer after a crash. The file loaded fine and the program failed while running code inside it, for example while waiting on a thread or reading time zones. Update the program first, then install the current runtime.
File facts for the current official version
Read from the files inside Microsoft's installers, version 14.51.36247.0. Microsoft® C Runtime Library _atomic_wait, Microsoft Corporation.
| Build | Version | Size | Exported functions | Signed by |
|---|---|---|---|---|
| x64 | 14.51.36247.0 | 57,792 bytes | 32 | Microsoft Windows Software Compatibility Publisher |
| x86 | 14.51.36247.0 | 57,272 bytes | 32 | Microsoft Windows Software Compatibility Publisher |
| ARM64 | 14.51.36247.0 | 89,952 bytes | 32 | Microsoft Corporation |
- SHA-256 · x64
3d0cbfaa1bf3eecf5a3f4491d2960ee803cb994f30292c6adc4a07c498f60e2b- SHA-256 · x86
e1142584f337b9b650d6d888652cb24f7b16a7dd93476840a050047bb00f0463- SHA-256 · ARM64
8e3b63333bbe2deecfd31c5c86608b5bdb7b23dbae13e3d356d2d7f78d7b67d5
After installation the x64 file is in C:\Windows\System32 and the x86 file in C:\Windows\SysWOW64 on 64-bit Windows. Every build exports the same 32 functions, in three groups: waiting and waking for C++ atomic variables, built on Windows' WaitOnAddress; a thread pool that the parallel versions of standard algorithms run on; and the C++ time zone database, which reads time zones from Windows' own icu.dll and the leap second list from the registry. Microsoft placed them in a separate file so that msvcp140.dll itself could stay compatible with every program built since 2015.

What msvcp140_atomic_wait.dll itself depends on
This file is an extension of msvcp140.dll, not a replacement. Its import table names MSVCP140.dll and VCRUNTIME140.dll, and the x64 build also VCRUNTIME140_1.dll, so Windows loads those first. If they are missing too, copying msvcp140_atomic_wait.dll by hand only moves the error to the next file. The redistributable installs the whole set in one go and keeps the versions in step.
Below the Visual C++ files there is only Windows: KERNEL32.dll, ADVAPI32.dll for the registry, the synchronisation API set that provides WaitOnAddress, and three files of the Universal C Runtime. If an error names one of the api-ms-win files instead, the gap is in Windows, not in the Visual C++ package.
MSVCP140.dllVCRUNTIME140_1.dllVCRUNTIME140.dllADVAPI32.dllapi-ms-win-core-synch-l1-2-0.dllapi-ms-win-crt-heap-l1-1-0.dllapi-ms-win-crt-locale-l1-1-0.dllapi-ms-win-crt-runtime-l1-1-0.dllKERNEL32.dllThe api-ms-win files are part of Windows 10 and Windows 11 and are kept up to date by Windows Update. The highlighted files come from the same redistributable as msvcp140_atomic_wait.dll.
What the redistributable installs
The runtime files of the x64 installer, version 14.51.36247.0: 12 files that are installed and updated together. msvcp140_atomic_wait.dll is one of four C++ library files in the set, beside msvcp140.dll, msvcp140_1.dll and msvcp140_2.dll.
| File | Microsoft's description | Size |
|---|---|---|
concrt140.dll | Microsoft® Concurrency Runtime Library | 365 KB |
msvcp140.dll | Microsoft® C Runtime Library | 628 KB |
msvcp140_1.dll | Microsoft® C Runtime Library _1 | 35 KB |
msvcp140_2.dll | Microsoft® C Runtime Library _2 | 268 KB |
msvcp140_atomic_wait.dll | Microsoft® C Runtime Library _atomic_wait | 56 KB |
msvcp140_codecvt_ids.dll | Microsoft® C Runtime Library _codecvt_ids | 30 KB |
vcamp140.dll | Microsoft® C++ AMP Runtime | 408 KB |
vccorlib140.dll | Microsoft ® VC WinRT core library | 342 KB |
vcomp140.dll | Microsoft® C/C++ OpenMP Runtime | 208 KB |
vcruntime140.dll | Microsoft® C Runtime Library | 174 KB |
vcruntime140_1.dll | Microsoft® C Runtime Library | 49 KB |
vcruntime140_threads.dll | Microsoft® C Runtime Library | 38 KB |
Older versions of msvcp140_atomic_wait.dll found on PCs
Programs and games often install their own msvcp140_atomic_wait.dll into their folder, and those copies stay long after Microsoft has released a newer runtime. A public DLL catalogue has collected 2 such copies, both of version 14.29.30037.0. The table lists each with its checksums, so you can tell which one you have.
The redistributable above installs 14.51.36247.0, newer than these copies. An old private copy is a common cause of the entry point error: the program's folder wins over System32, so a file there that lacks a newer function keeps failing until the program is updated or the copy is replaced. Confirm the Microsoft signature of any match, because the list itself is not verified.
| Version | Build | Size | MD5 | SHA-1 |
|---|---|---|---|---|
14.29.30037.0 | 64-bit | 617066c57ad5d5102cdcdc9c8aa429ee | 981069ab30f46dca1b8a7dfb34ba43a570c784d1 | |
14.29.30037.0 | 32-bit | c2ba74278f41fdbe9122a4eb538e070a | 9f4257f8116e0a8fe4053a7416da497f8bb4c4d2 |
Copies uploaded by users to a public DLL catalogue, read on 14 October 2026. We list their checksums so you can identify a file; we do not offer them for download and we did not verify each one against Microsoft's signature.
Questions people ask
I have msvcp140.dll. Why is msvcp140_atomic_wait.dll still missing?
Because the runtime on your PC is older than the program. msvcp140_atomic_wait.dll was added to the 2015-2022 family with version 14.28; the oldest build Winbindex indexes is 14.28.29231.0. Packages installed before that have msvcp140.dll but not this file. The current installer upgrades the runtime in place and adds it.
Do I need the x86 or the x64 version?
The one that matches the program, which is why both packages belong on a 64-bit PC. A 32-bit program loads the x86 file from SysWOW64, a 64-bit program the x64 file from System32. Microsoft also builds a native ARM64 file for programs made for Windows on ARM.
Why does a game ask for this file?
Its developers used C++ features whose code lives here: threads that wait for each other, parallel sorting and searching, or local time and time zone conversion. Any program built with a recent Visual Studio that uses those features names msvcp140_atomic_wait.dll in its import table and cannot start without it.
Can I copy msvcp140_atomic_wait.dll from another computer?
It can work if you copy msvcp140.dll and the vcruntime140 files from the same PC with it, since they must come from one version and one architecture. You also bring over whatever state those files are in, and the installer will not know about them. Installing the redistributable takes a minute and gives you the current, registered set.
Is the msvcp140_atomic_wait.dll on my PC safe to keep?
The genuine file is a signed Microsoft library and is safe. Another file can carry the same name, so check a copy you are unsure about with the tool on this page; the security page linked above covers where suspicious copies turn up.
Which Visual C++ year do I need for msvcp140_atomic_wait.dll?
The 2015-2022 (v14) redistributable in its current version. Programs built with Visual Studio 2019 and 2022 share this one runtime. Older Visual C++ packages, such as 2013 or 2012, never contain the file, and early releases of the 2015-2022 family do not either.
Sources
- Microsoft: Latest supported Visual C++ Redistributable downloads
- Winbindex, the Windows binaries index (m417z)
File data read on October 18, 2026.
The editors who write and check uGetFix guides and reference pages. File facts are read from Microsoft's own installers and documentation, and every page shows the date its data was read.
Questions and experiences
Ask about this page: members and our editors answer. Reading is open; writing needs a free account.
…