Skip to content

Instantly share code, notes, and snippets.

@minanagehsalalma
Created March 6, 2026 14:40
Show Gist options
  • Select an option

  • Save minanagehsalalma/17c9fb7fe4a5e0d7da86dc6985d27fb7 to your computer and use it in GitHub Desktop.

Select an option

Save minanagehsalalma/17c9fb7fe4a5e0d7da86dc6985d27fb7 to your computer and use it in GitHub Desktop.
Fix Chrome not opening links/files even though it appears in Default Apps

Fix Chrome not opening links/files even though it appears in Default Apps

Symptoms

  • Google Chrome shows in Settings > Apps > Default apps
  • .htm, .html, HTTP, HTTPS may look assigned to Chrome
  • But clicking links does nothing
  • PowerShell shows: Start-Process "http://example.com" -> Application not found

Cause

The default app entry existed, but the URL/file association registry command for Chrome was broken.

Fix

1) Re-register Chrome in Windows

Run in PowerShell as Administrator:

$chrome='C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'; $setup=Get-ChildItem 'C:\Program Files (x86)\Google\Chrome\Application\*\Installer\setup.exe' -ErrorAction SilentlyContinue | Sort-Object FullName -Descending | Select-Object -First 1; if ((Test-Path $chrome) -and $setup) { Start-Process $setup.FullName -ArgumentList '--register-chrome-browser --system-level' -Wait; Stop-Process -Name SystemSettings -ErrorAction SilentlyContinue -Force; Start-Process 'ms-settings:defaultapps' } else { Write-Host 'Chrome or setup.exe not found' }

2) Rebuild ChromeHTML open command

$chrome='C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'; foreach($root in 'HKLM:\SOFTWARE\Classes\ChromeHTML','Registry::HKEY_CLASSES_ROOT\ChromeHTML'){New-Item "$root\shell\open\command" -Force|Out-Null; New-Item "$root\Application" -Force|Out-Null; Set-ItemProperty $root '(default)' 'Chrome HTML Document'; Set-ItemProperty $root 'URL Protocol' ''; Set-ItemProperty "$root\Application" 'ApplicationName' 'Google Chrome'; Set-ItemProperty "$root\Application" 'ApplicationIcon' "$chrome,0"; Set-ItemProperty "$root\shell\open\command" '(default)' "`"$chrome`" -- `"%1`""}; Stop-Process -Name SystemSettings -ErrorAction SilentlyContinue -Force; Start-Process 'ms-settings:defaultapps'

3) Rebuild http and https shell handlers

foreach($p in 'HKCR:\http\shell\open\command','HKCR:\https\shell\open\command'){New-Item $p -Force|Out-Null; Set-ItemProperty $p '(default)' '"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"'}

Test

Use this instead of Start-Process:

cmd /c start "" "https://example.com"

If Chrome opens, the fix worked.

Notes

  • The fix is usually persistent across reboots.

  • It can be undone by:

    • Chrome updates/repairs
    • Windows resetting associations
    • browser hijackers/PUPs

Verified working state

  • Chrome appears in Default Apps
  • HTTP and HTTPS open correctly
  • cmd /c start "" "https://example.com" works
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment