287

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?

  • 17
    I just followed instructions that answers bellow give, and while you can disable damn Cortana process from respawning it'll prevent you from searching for app after launching Start menu. And considering I do WinKey+start typing to find app quite often I needed do re-enable Cortana. Thanks M$... seems you haven't learned from IE lawsuit in 90s. – nikib3ro Mar 15 '16 at 8:11
  • I don't have enough rep to answer, but if you have the "Anniversary Update" the toggle switch is gone. This registry tweak worked for me. – default.kramer Aug 26 '16 at 14:25
  • @kape123 I use start menu replacement and the search works. I like star10. – FreeSoftwareServers Jan 2 '17 at 7:25
  • After using MC10's solution below (renaming to C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy.bak), which worked for over a year, I think I re-enabled it by accidentally hitting Win + Print Screen for a screen shot. I'm not going to try and confirm this now that I have it disabled again. – samis May 29 '18 at 14:28
  • @kape123 Be sure it's really cortana... I had a similar issue when I disabled apps running in the background (The main toggle, not the individual apps). Looks like the indexing process is disabled when background apps are disabled (even though it's not listed) – Basic Sep 6 '18 at 14:47
13

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.

  • 4
    @julealgon didn't seem so unnecessary to me. Considering it's about the only real solution there is. That being, use something OTHER than Windows 10. – cbmeeks Jan 14 at 14:31
  • 1
    The problem is that she re-installs with every windows update... and this is a great program, but Microsoft definitely wants here there. – Sol Feb 4 at 16:57
163

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

  • 12
    Considering 8.1 was distributed via the store, uninstalling the store may prevent you from installing future Windows OS upgrades. – Bob Aug 3 '15 at 5:18
  • 17
    @Bob: So the store is an integral part of Windows that cannot be removed without breaking crucial functionality? Ugh! It's like 1998 all over again. You'd think Microsoft would have learned their lesson the first time around, but apparently not... :( – Mason Wheeler Aug 3 '15 at 17:34
  • 9
    Even running PowerShell as admin I get this: error 0x80070032: AppX / Deployment Remove operation on package <Cortana> from: / <Cortana> failed. This app is part of Windows and cannot be uninstalled on a per-user basis. – vaindil Aug 23 '15 at 16:26
  • 14
    This doesn't work. I got error saying Remove-AppxPackage : Deployment failed with HRESULT: 0x80073CFA, Removal failed. Please contact your software vendor. Tried running as administrator but no luck – Rahil Wazir Oct 7 '15 at 18:36
  • 9
    Doesn't work anymore. Microsoft says that the app you're trying to remove is part of windows and cannot be removed. – user72945 Dec 25 '15 at 17:22
83

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.

  • 6
    It was a nice try, but didn't work. Cortana process continue running and respawing. I suggest removing the answer – Lombas Oct 21 '15 at 14:02
  • 8
    I suggest leaving this answer, as it's the only thing that worked for me on 1607 and wasn't utterly destructive to the start menu.... – Michael Hampton Jul 25 '16 at 8:08
  • 4
    Works great even after anniversary update. This answer FTW – Rob Hardy Dec 15 '16 at 10:19
  • 11
    @peterh - The gpedit.msc capability does exist within Windows 10 Professional and Enterprise operating systems, but it isn't available on a Windows 10 Home machine. – Run5k Feb 7 '17 at 19:12
  • 5
    The key "Allow Cortana" does exist in 1709, but assigning a 'Disabled' to it and restarting doesn't stop Cortana. Win 10 Pro Version 1709 (OS Build 16229.309) – DK. Apr 2 '18 at 21:15
58

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.

  • 9
    Works a charm, and I've also used it to disable a number of other annoying processes. Thanks! – ArtOfCode Aug 2 '15 at 20:32
  • 44
    Technically this works, but Windows Automatic Repair will fix it if you ever have a bad boot, and Windows Update might restore Cortana. I don't suggest modifying system files just to remove a feature. It may also have unintended side effects, such as other programs that depend on Cortana code to provide some functionality (I'm not aware of any such dependency, but I wouldn't risk it). – phyrfox Aug 3 '15 at 1:55
  • 7
    Rather than posting a duplicate of your answer from July, you should simply vote to close as duplicate. – T.J. Crowder Aug 3 '15 at 10:02
  • 2
    @T.J.Crowder Well actually I edited that answer after posting this one. My old answer on that question was a lot simpler and you can see the Original Answer. – MC10 Aug 3 '15 at 11:21
  • 1
    Which is great! And +1 on that answer. Nice one improving it even further over the original. But it doesn't change the fact that this question is a dupe and should have been closed as one. If you really wanted to also post an answer, I'd make it a CW linking to the (updated) answer and vote-to-close. – T.J. Crowder Aug 3 '15 at 11:23
10

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 an 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.

  • 15
    Yes, but again this doesn't stop the process running in the background. – ArtOfCode Aug 3 '15 at 14:22
  • 3
    Apparently neither will it stop Windows from connecting to Bing whenever you type in the search box. – ȷ̇c Aug 8 '15 at 16:16
  • If the integrity and security of the OS is dependent on a Siri-like convenience clone as suggested, I would be significantly concerned with what other areas of it may have been compromised in such a way to achieve whatever end it is trying to make (i.e. user data). This doesn't instill much faith in me for considering this OS as viable option for any application domain requiring even minimal security (I did confirm that setting the local security policy for Allow_Cortana to disabled doesn't prevent the process from running/collecting data, making Group Policy an invalid option). – samis May 29 '18 at 14:46
6
  1. Paste this text into Notepad (ensuring it has 2 line breaks at the end):

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
    "AllowCortana"=dword:00000000
    "AllowCortanaAboveLock"=dword:00000000
    "AllowSearchToUseLocation"=dword:00000000
    "DisableWebSearch"=dword:00000001
    "ConnectedSearchUseWeb"=dword:00000000
    "ConnectedSearchUseWebOverMeteredConnections"=dword:00000000
    
  2. Save as "disable cortana machine.reg" (including the quotes)
  3. Run the file you saved (double-click) once per machine
  4. Paste this text into a new Notepad file, as before

    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search]
    "CortanaConsent"=dword:00000000
    "AllowSearchToUseLocation"=dword:00000000
    "BingSearchEnabled"=dword:00000000
    
  5. Save as "disable cortana user.reg"
  6. Run the file you saved in every user account on the machine
  7. Reboot your computer

You may still see processes named Cortana running, but these make up the built-in Windows search system (so you can find files, programs and settings from the start menu), not the networked AI assistant and associated data-mining.

  • 1
    superuser.com/questions/1196618/… is a more complete answer – Ramhound May 9 '17 at 0:58
  • @Ramhound doesn't work on non-Pro editions. The ‘disable web search’ preferences are redundant, for me at least; web search from start menu doesn't work once Cortana is disabled and their preferences disappear from the normal Windows settings UI. One might not want to disable both, anyway. – Walf May 9 '17 at 1:15
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.

  • this is interesting, but for some reason its not working: i.gyazo.com/3fea9c6a374635688dcd3a3249242baa.png – DeerSpotter Jan 22 '17 at 20:14
  • have you made the reboot? – magicandre1981 Jan 23 '17 at 5:40
  • it went away, i renamed the system folder. This method didnt work. – DeerSpotter Jan 23 '17 at 15:57
  • @DeerSpotter what doesn't work? What have you done in detail? if you renamed a folder, the removal doesn't work. – magicandre1981 Jan 23 '17 at 16:32
  • the answer i am commenting to, that method of removing cortana doesn't work. (tested 1/22/2017) – DeerSpotter Jan 23 '17 at 20:34
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!

1

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

protected by Community Aug 8 '15 at 15:52

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.