Windows Core OS is something we've been writing about since early 2017 and has been in the works for much longer. It's the future of Windows, which takes the shared code of OneCore and builds a modern, legacy-free OS on top of it. Windows Core OS, along with CShell, allows Microsoft to create new versions of Windows 10 quickly, and share standard components and features across different device types and WCOS versions quickly and easily.

Trying to keep up with Microsoft's internal Windows Core OS (WCOS) project is no easy task. Even we find it challenging to keep up with all the different codenames, plans, and changes being made to Windows with Windows Core OS. So, to try and keep things in line, we've compiled this ultimate guide for Windows Core OS, CShell, and everything in between.

To answer this question, we first have to explain what Windows Core OS isn't. Today, Windows 10 is several different operating systems across the many devices types it can run on. There's Windows 10 for desktops, Windows 10 for HoloLens, Windows 10 for IoT devices, Windows 10 for Surface Hub, Windows 10 for Xbox, and there was also a Windows 10 for phones. Although these are all Windows 10, they're all technically different operating systems that don't run very well on devices for which they are not designed. Windows 10 desktop, for example, would be a terrible experience on a phone, and vice versa.

All of these versions of Windows 10 do share universal elements, however, such as OneCore and OneCoreUAP which are layers of the operating system that you can find on all of these versions of Windows 10 that enable things like the Universal Windows Platform. But the rest of everything included in these operating systems are specific to that version of Windows. Not everything is interchangeable or shareable between them, as most of these features have to be rewritten each time by the teams working on these individual versions of the OS for them to function.

A great example of this is with the Start menu and Action Center on Windows 10 for desktop and Windows 10 Mobile. While Microsoft tried very hard to make these experiences seem the same, underneath, they were very different. Keen-eyed users would have likely noticed differences in features between the two Start experiences, and that's because for one feature to be available on both platforms, it needed to be built twice, not just once. Live tile folders are a perfect example of this, a feature that was first found on Mobile took over a year to appear on the desktop.

Windows Core OS is the future of Windows.

As it stands today, there's a lot of extra work and overhead that Microsoft needs to deal with every time it wants to build a version of Windows 10 for a new device type, such as foldables. Windows 10 as it exists on its own wouldn't be a good fit for foldable PCs. Microsoft could start building yet another version of Windows 10 for this category of devices, but then they'd have to rebuild many of the existing features you can find on other versions of Windows 10 already to ensure those features behave and operate correctly on this form factor. It's a waste of resources and effort.

That's where Windows Core OS comes in. With Windows Core OS, Microsoft is building a universal base for Windows that can be used across all these different devices. Instead of having to develop a new version of Windows 10 for every new device type that comes along, Microsoft can simply use Windows Core OS to start. They would then pull in features and functions it has already built for it, and create it as an OS for that device type. All that would be created with less overhead and fewer resources used.

Windows Core OS strips Windows down to the bare minimum. It doesn't include any legacy components or features, and sticks to UWP as a core for the operating system as it's lighter and already universal. From there, Microsoft can build out Windows Core OS with different components and features that it can then apply to devices where necessary. But this time, those components and features can be shared across the many different devices Windows Core OS will run on.

It's essentially a modular platform. Any feature or function Microsoft builds for it can then be applied to any Windows Core OS device that it wants. For example, let's imagine Microsoft builds out Win32 support as a component for Windows Core OS for desktop and laptop devices. Since that work has now already been done, Microsoft can also bring that Win32 component to HoloLens 2 or Surface Hub 2X running Windows Core OS, enabling that functionality on those experiences too.

The big selling point for Windows Core OS for Microsoft is that for the people working on Windows, it takes way less time and resources to build new Windows experiences when it's required. If Microsoft or any of its partners want to develop new device form factors running Windows, they no longer have to wait years for Microsoft to build up a version of Windows 10 that works for it. Using Windows Core OS, they can create new Windows experiences in a fraction of the time and way more efficiently.

Explaining composable

What is CShell for Windows?

The shared component idea extends to the UI as well, thanks to a universal shell Microsoft has been building called Composable Shell, also known as CShell for short. CShell is the other half of this universal idea for Windows Core OS, and allows Microsoft to build shell experiences that can be shared across devices, and even bundled up together where it makes sense. For example, any shell-facing feature like an Action Center, Start menu, or taskbar, can then be used across all CShell-powered devices without having to rewrite them to fit on different devices every single time.

Imagine a gaming PC that changes to an Xbox "game mode" when an Xbox controller is connected.

Let's imagine Microsoft decides to finally build a Surface Phone running Windows Core OS. It'll feature a mobile experience primarily, but if you connected it to a Continuum dock, Microsoft could also bundle the actual desktop experience it built with CShell. So instead of getting a fake desktop experience as you did with Windows 10 Mobile, you'd boot into the real desktop experience Microsoft made for CShell, which runs on actual desktops. That's pretty cool.

Unfortunately, Microsoft seems just about done with trying to build phones that run Windows, so insteaad, we can apply this idea to something a little more plausible. Tablets! Microsoft can build out dedicated desktop and tablet mode experiences with CShell, and apply them to 2-in-1 devices like the Surface Pro. So whenever the user enters tablet mode, instead of getting a mediocre experience, it can boot into a dedicated tablet mode that Microsoft built for CShell. On some devices, maybe tablet mode is the only experience available, and on others, there's more than one.

Or imagine a gaming PC, which, when being used with a mouse and keyboard, uses an actual regular desktop interface with a taskbar and Start menu. When an Xbox controller is connected, however, it boots into a "Game Mode" that enables the same Xbox shell you can find on Xbox consoles, except it's all running on your PC and has all your PC games ready to go. That would be pretty cool. These ideas are all very possible with CShell and Windows Core OS.

There's more than one experience

The different flavors of Windows Core OS

Now we know all about Windows Core OS and what it is — let's take a look at all the different configurations of Windows Core OS we know about so far. Officially, there are two devices that Microsoft is shipping with Windows Core OS: HoloLens 2 and Surface Neo.

There are a whole bunch of different codenames and words used to describe the different versions of WCOS. So we've tried to include all the names Microsoft uses for these editions of Windows Core OS.