314

Windows 10 has Cortana, which I don't like. I disabled it as soon as I could. However, looking in Task Manager, the process for Cortana is still running, and can't be effectively terminated: ending the task simply results in the process respawning a few seconds later. Using the command

taskkill /IM Cortana.exe /F

has the same result: the process respawns.

Is there any way to disable Cortana so that the process doesn't keep running in the background, and doesn't respawn if terminated?

ArtOfCode
  • 3,451

9 Answers9

165

Update 2018: Warning about Taskbar Breakage

I just reinstalled Windows 10 Pro and followed all the prescribed steps (both removing Cortana and removing all store apps) and it still works as prescribed.

It bears mentioning that removing Cortana will break the Default Taskbar in weird ways. It doesn't break Windows Search - so Explorer search still works in my experience.

I've, personally, always replaced the default taskbar with Classic Start (linked via Ninite installer) and have no issues in day-to-day Windows usage otherwise.

Update: Remove Cortana via "TakeOwn"

Apparently, this trick stopped working at some point. I've used @Meferdati's link at some point successfully: winaero: how to uninstall Cortona. It contains a script that does all the work for you, as well as an explanation of how it works.

Below are the steps I've been using, which are very similar to @MC10's answer, except I've always had to "TakeOwn" to get permissions and I move my files to a different folder (instead of deleting - in case I decide to revert):

  1. add TakeOwn to the context menu or (use takeown from the command line).
  2. Navigate to C:\Windows
  3. Create folder SystemApps.bak
  4. Use Takeown to gain ownership of c:\windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy
  5. (Gain ownership of anything else you want to move)
  6. Cut/Paste the folder(s) from SystemApps to SystemApps.bak
  7. When the "Permissions" pop-up appears, switch to Task Manager
  8. Kill SearchUI.exe process
  9. Switch back and give permission to move the folder

The folder is now in SystemsApps.bak - and you can simply move it back if the need arises.

Original: Remove Cortana via Powershell RemoveAppPackage

First disable it, then uninstall the Cortana app.

Disable it in the search settings:

  1. Click the search icon/box in the bottom left
  2. click the gear on the left bar
  3. Click off next to Cortana/Web Searches

    enter image description here

Then uninstall it, as listed here:

In elevated PowerShell:

Get-AppxPackage | Select Name, PackageFullName
Remove-AppxPackage Microsoft.Windows.Cortana_1.4.8.176_neutral_neutral_cw5n1h2txyewy

This is similar to MC10's answer, except that I'm sure the OS will be more accepting of uninstalling it via the "proper channels" (powershell) instead of renaming the folder.

Windows has fixed it so now you cannot remove "...Cortana_1.6.1.52_ ...". When this is attempted it states this is part of Windows now and cannot be removed. I guess I will go back to renaming the folder.

I'm using the same uninstall to remove other "features" like BingNews, BingSports, Etc

Edit: Likewise, you can remove the "Provisioned" applications (aka: crap that gets installed per user) via this method

Get-AppxProvisionedPackage -Online | Select DisplayName, PackageName
Remove-AppxProvisionedPackage  Microsoft.ZuneMusic_2019.6.11821.0_neutral_~_8wekyb3d8bbwe

Or... to remove ALL Apps that you can, app or provisionedapp, you can do this:

Just a warning: This will uninstall the Windows Store. That's not an issue for me, but uninstalling everything isn't for the faint of heart.

Get-AppxPackage | Remove-AppxPackage
Get-AppxProvisionedPackage -Online | Remove-AppxProvisionedPackage -online

As mentioned in comments, it's probably wise not to completely remove the Windows Store. I haven't tried this yet, but this (in the comments) looks to be ballpark of what I'd use:

Get-AppxPackage -AllUsers | where-object {$_.name –notlike "*store*"} | Remove-AppxPackage
Get-appxprovisionedpackage –online | where-object {$_.packagename –notlike "*store*"} | Remove-AppxProvisionedPackage -online

Further resource: Delete Windows 10 Apps and Restore Default Windows 10 Apps

WernerCD
  • 4,373
93

Cortana is very integrated with Windows Search and fully disabling it will break Search. However, if you would like to keep Search functional, you can just disable the "Cortana-y" parts of Cortana.

To disable Cortana in windows 10

  1. Press Win + R keyboard accelerator to open Run dialog box.
  2. Type GPedit.msc and hit Enter or OK to open Local Group Policy Editor. Navigate to Local Computer Policy -> Computer Configuration -> Administrative Templates -> Windows Components -> Search.
  3. In the right pane, double click on policy named Allow Cortana.
  4. Select the Disabled radio button.
  5. Restart the PC and Cortana and Bing Search will be disabled. (May work after signing out and in again)

Policy Description

This policy setting specifies whether Cortana is allowed on the device.

If you enable or don't configure this setting, Cortana will be allowed on the device. If you disable this setting, Cortana will be turned off.

With this set, users will still be able to use search to find things on the device and on the Internet.

Aaron Franke
  • 1,320
59

Disclaimer: Please see WernerCD's answer for an improved method. This will break the search bar/Start search.

After playing around with it a bit, and I think I found a method.

Open Task Manager and have it show More details. Right click on Cortana and select Open file location.

Task Manager

Now find the Cortana folder, right click it, and select Rename. I would recommend just adding ".bak" to the end of the folder name so you can find it easily if you want to restore it back to it's original status.

Rename

If you attempt to rename, it will tell you that the folder is in use.

Folder In Use

This is when you want to go back to Task Manager, right click on Cortana, and select End task.

End task

Right after the task ends, switch back to the Folder In Use window and click Try Again. The folder should be renamed and the Cortana task will not start again.

Stevoisiak
  • 16,075
MC10
  • 10,620
29

The easiest way to disable certain privacy aspects of Cortana is to use a third-party tool such as O&O Software's free ShutUp10.

Cortana in ShutUp10

Part of Cortana, though, is Windows Search, so there would still be an occasional Cortana process such as file indexing. However, there should no longer be any use of the internet by Cortana.

enter image description here

You can remove Cortana completely, if you wish, but that also removes Windows Search (though that might not be an issue if you use a third-party tool such as DocFetcher or Mythicsoft's Agent Ransack, which provide increased search functionality). That said, after a Windows 10 update, expect that Cortana would be reinstalled. Apparently, the only way now to permanently avoid Cortana is to use another OS, such as Linux.

12

Buried in the privacy policy for Win 10 (expand the Input Personalization section) is:

You can turn off Input Personalization at any time. This will stop the data collection for this feature and will delete associated data stored on your device, such as your local user dictionary and your input history. As Cortana uses this data to help understand your input, turning off Input Personalization will also disable Cortana on your device. At https://www.bing.com/account/personalization, you can also clear data sent to Microsoft, such as your contacts and calendar data, user dictionary, as well as search and browsing history if your device also had Cortana enabled.

According to HowToGeek, after installation, you can disable this by:

If you have chosen express settings and you want to opt out of some or all of these, all is not lost. You can still go into the settings and change things.

To turn off the first item found in the Personalization settings, you will need to open the Privacy group in Settings and then “Speech, inking, & typing”.

Click or tap “Stop getting to know me”.

I'd strongly recommend disabling it the officially supported way over screwing with an executable. The latter runs both the risk that Windows repair or a future Windows update to Cortana will install a new executable and re-enable it without your knowledge, or that because you removed the file the update will fail. With consumer versions of W10 not allowing you to opt out of patches, this could result in you getting stuck in a reboot loop due to the patch failing to install or lock you out of future security updates because you don't have one of last month's required patches.

Pang
  • 1,017
5

Download the tool called win6x_registry_tweak. Now open a command prompt with admin rights in the folder of the downloaded exe and run this command:

install_wim_tweak.exe /o /c Microsoft-Windows-Cortana /r

This command removes the 3 cortana packages (Cortana main package, language pack and PAL package):

Microsoft-Windows-Cortana-Package~31bf3856ad364e35~x86~de-DE~10.0.10240.16384
Microsoft-Windows-Cortana-Package~31bf3856ad364e35~x86~~10.0.10240.16384
Microsoft-Windows-Cortana-PAL-Desktop-Package~31bf3856ad364e35~x86~~10.0.10240.16384

After a reboot your Windows is cortana free.

ATTENTION. Make a full backup if you later when to restore it to get Cortana back. If you have not done any backup, use those steps to generate the CABs for your Build. Replace Flash with the MUM names of the Cortana packages. You need to generate CABs for all Cortana MUM files like here the x86 MUMs for Build 14393 enter image description here.

3

For those curious what's going on under the hood with install_wim_tweak, it's fairly straightforward. If you prefer not to use random binaries that get total permission of your system, and also build more understanding, you can do it this way:

THE HO-HUM USUAL REGISTRY SURGERY PART

In the Registry:

  1. Change ownership to Administrators of the root of the package tree: HKLM:\Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing. All keys beneath that inherit from the root. The initial owner is TrustedInstaller like all don't-touch-this parts of Windows.

  2. Change Administrators permission from Read to Full Control on the same.

  3. Change the Visibility of the aforementioned 4 Cortana package keys from 2 (hidden) to 1 (visible).

  4. Break the dependencies of the 4 packages by deleting all the Owner subkeys. The DISM interface refuses to remove owned packages as they are considered essential to the parent package.

  5. Use PowerShell or plain old dism to remove the now-unlocked packages. A pipeline w/wildcard matching avoids the awkward long names:

Get-WindowsPackage -Online | Where-Object { $_.PackageName -like '*Cortana*' } | Remove-WindowsPackage -Online -NoRestart

  1. Restart once manually at the end.

BEYOND install_wim_tweak, THE UGLY PART (WARNING: BREAKS FUTURE WINDOWS UPGRADES BECAUSE OF REASONS.)

Deleting the User-level package is considerably worse. Based on techniques here and there and our Windows cousin the unlock is not to be found in the Registry, but rather a SQLite package-tracking database: C:\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd

The above links have some overkill, so the boiled down version is:

  1. Stop the StateRepository service: Stop-Service -Name StateRepository -Force
  2. Take the necessary ownership and permissions of C:\ProgramData\Microsoft\Windows\AppRepository (Owner, Full Control). Use icacls ... /save AclFile first, for later restoration.
  3. Copy the database file within: StateRepository-Machine.srd to a scratch area.
  4. Using a decent SQLlite editor or even with an open-source PowerShell extension perform the query UPDATE Package SET IsInbox = 0 WHERE PackageFullName LIKE '%Cortana%'
  5. Save the result to the database.
  6. Copy the database file back into place.
  7. Restore the Ownership (icacls ... /restore AclFile)
  8. Restart the service: Start-Service -Name StateRepository
  9. Confirm it's running: Get-Service -Name StateRepository
  10. Remove the package: Get-AppxPackage -AllUsers | Where-Object { $_.Name -like '*Cortana*' } | Remove-AppxPackage -AllUsers
BaseZen
  • 151
  • 6
1

To add to what Girish and Dan posted above on Windows 10 Professional you can first start turning of Cortana (and related) features by typing Cortana in the search bar and then left-clicking on the Gear icon to display the settings window.

From here you can switch off various features related to Cortana (or more like opt out, they still turn back on sometimes). However for a more substantial move I recommend doing the following:

  1. Press Windows Key + R to display the Run box Type gpedit.msc to start the group policy management addin
  2. Left click on the folder labelled Administrative Templates to select it You should now see a filter icon appear on the toolbar just above (looks like a funnel)
  3. Left-click on the menu option View > Filter Options > tick 'Enable Keyword Filter' to enable the text box and type cortana and then hit OK to apply the filter.
  4. Expand the Administrative Folder and then left-click on the All Settings item to display all items that match the filter on the right.

Now you can disable all the options relating to cortana and watch your CPU cycles drop and temps return to normal!

Trevor
  • 219
0

Install latest winget from https://github.com/microsoft/winget-cli/releases, then run:

winget uninstall cortana
A T
  • 821
  • 1
  • 12
  • 26