From 7d958c4b78303dc65a682708bc70e5cb8deeac33 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Nov 2025 14:32:41 +0000 Subject: [PATCH 1/2] Add comprehensive Cursor uninstall tools and documentation - Add detailed uninstall guide (UNINSTALL_CURSOR.md) with step-by-step instructions for Linux, macOS, and Windows - Add automated uninstall script for Linux/macOS (uninstall-cursor.sh) - Add automated uninstall script for Windows (uninstall-cursor.ps1) - Add quick start guide (UNINSTALL_README.md) explaining how to use the uninstall tools Features: - Safe removal with verification - Detection and handling of running Cursor instances - Basic and full uninstall modes - Platform-specific cleanup for all OS types - Troubleshooting documentation --- UNINSTALL_CURSOR.md | 301 +++++++++++++++++++++++++++++++++++++++++++ UNINSTALL_README.md | 134 +++++++++++++++++++ uninstall-cursor.ps1 | 215 +++++++++++++++++++++++++++++++ uninstall-cursor.sh | 179 +++++++++++++++++++++++++ 4 files changed, 829 insertions(+) create mode 100644 UNINSTALL_CURSOR.md create mode 100644 UNINSTALL_README.md create mode 100644 uninstall-cursor.ps1 create mode 100755 uninstall-cursor.sh diff --git a/UNINSTALL_CURSOR.md b/UNINSTALL_CURSOR.md new file mode 100644 index 000000000..ec364b0e8 --- /dev/null +++ b/UNINSTALL_CURSOR.md @@ -0,0 +1,301 @@ +# Uninstalling Cursor + +This guide provides instructions for completely uninstalling Cursor from your system. + +## Table of Contents + +- [Linux](#linux) +- [macOS](#macos) +- [Windows](#windows) + +--- + +## Linux + +### Method 1: Using Package Manager (if installed via package manager) + +If you installed Cursor using a package manager: + +```bash +# For Debian/Ubuntu (if installed via .deb) +sudo apt remove cursor + +# For Fedora/RHEL (if installed via .rpm) +sudo dnf remove cursor +# or +sudo yum remove cursor + +# For Arch Linux (if installed via AUR) +yay -R cursor +# or +paru -R cursor +``` + +### Method 2: Manual Uninstallation + +1. **Remove the application directory:** + +```bash +# Common installation locations +sudo rm -rf /opt/Cursor +sudo rm -rf /usr/share/cursor +sudo rm -rf ~/.local/share/cursor +``` + +2. **Remove desktop entries and shortcuts:** + +```bash +rm -f ~/.local/share/applications/cursor.desktop +sudo rm -f /usr/share/applications/cursor.desktop +``` + +3. **Remove user configuration and data:** + +```bash +# Configuration files +rm -rf ~/.config/Cursor + +# Cache +rm -rf ~/.cache/Cursor + +# Local data +rm -rf ~/.local/share/Cursor +``` + +4. **Remove any symlinks:** + +```bash +sudo rm -f /usr/bin/cursor +sudo rm -f /usr/local/bin/cursor +``` + +### Verification + +To verify Cursor has been completely removed: + +```bash +which cursor +# Should return nothing + +find ~ -name "*cursor*" -o -name "*Cursor*" 2>/dev/null +# Check if any files remain +``` + +--- + +## macOS + +### Method 1: Manual Uninstallation + +1. **Quit Cursor:** + + - Ensure Cursor is not running + - Press `Cmd + Q` or right-click the Cursor icon in the Dock and select "Quit" + +2. **Remove the application:** + +```bash +rm -rf /Applications/Cursor.app +``` + +3. **Remove user data and configuration:** + +```bash +# Application Support +rm -rf ~/Library/Application\ Support/Cursor + +# Preferences +rm -rf ~/Library/Preferences/com.cursor.* + +# Caches +rm -rf ~/Library/Caches/Cursor +rm -rf ~/Library/Caches/com.cursor.* + +# Logs +rm -rf ~/Library/Logs/Cursor + +# Saved Application State +rm -rf ~/Library/Saved\ Application\ State/com.cursor.* +``` + +4. **Remove additional files:** + +```bash +# Remove from ~/Library +find ~/Library -iname "*cursor*" -exec rm -rf {} + 2>/dev/null +``` + +### Method 2: Using AppCleaner (Recommended) + +1. Download [AppCleaner](https://freemacsoft.net/appcleaner/) (free) +2. Drag Cursor.app into AppCleaner +3. AppCleaner will find all associated files +4. Click "Remove" to uninstall completely + +### Verification + +```bash +# Check if app exists +ls /Applications/Cursor.app +# Should return: No such file or directory + +# Search for remaining files +find ~ -iname "*cursor*" 2>/dev/null +``` + +--- + +## Windows + +### Method 1: Using Windows Settings (Windows 10/11) + +1. Open **Settings** (`Win + I`) +2. Go to **Apps** > **Apps & features** +3. Search for **Cursor** +4. Click on Cursor and select **Uninstall** +5. Follow the uninstallation wizard + +### Method 2: Using Control Panel + +1. Open **Control Panel** +2. Go to **Programs** > **Programs and Features** +3. Find **Cursor** in the list +4. Right-click and select **Uninstall** +5. Follow the uninstallation wizard + +### Method 3: Manual Uninstallation + +If the above methods don't work: + +1. **Remove the application directory:** + +```powershell +# Run PowerShell as Administrator +Remove-Item -Path "$env:LOCALAPPDATA\Programs\Cursor" -Recurse -Force +``` + +2. **Remove user data and configuration:** + +```powershell +# User data +Remove-Item -Path "$env:APPDATA\Cursor" -Recurse -Force + +# Local data +Remove-Item -Path "$env:LOCALAPPDATA\Cursor" -Recurse -Force +``` + +3. **Remove shortcuts:** + +```powershell +# Desktop shortcut +Remove-Item -Path "$env:USERPROFILE\Desktop\Cursor.lnk" -Force + +# Start Menu shortcut +Remove-Item -Path "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Cursor.lnk" -Force +``` + +4. **Clean registry entries (Advanced):** + +```powershell +# Run Registry Editor (regedit) as Administrator +# Delete these keys if they exist: +# HKEY_CURRENT_USER\Software\Cursor +# HKEY_LOCAL_MACHINE\SOFTWARE\Cursor +``` + +⚠️ **Warning:** Be careful when editing the registry. Only delete entries you're certain about. + +### Method 4: Using Uninstaller Utility + +Use a third-party uninstaller like: +- [Revo Uninstaller](https://www.revouninstaller.com/) +- [IObit Uninstaller](https://www.iobit.com/en/advanceduninstaller.php) +- [Geek Uninstaller](https://geekuninstaller.com/) + +These tools can find and remove leftover files and registry entries. + +### Verification + +```powershell +# Check if application exists +Test-Path "$env:LOCALAPPDATA\Programs\Cursor" +# Should return: False + +# Search for remaining files +Get-ChildItem -Path "$env:LOCALAPPDATA" -Filter "*cursor*" -Recurse +Get-ChildItem -Path "$env:APPDATA" -Filter "*cursor*" -Recurse +``` + +--- + +## Additional Cleanup + +### Remove Extensions and Workspaces (All Platforms) + +If you want to completely remove all traces including extensions and workspace settings: + +**Linux/macOS:** +```bash +rm -rf ~/.cursor +``` + +**Windows:** +```powershell +Remove-Item -Path "$env:USERPROFILE\.cursor" -Recurse -Force +``` + +### Remove Global Configuration (All Platforms) + +**Linux/macOS:** +```bash +rm -rf ~/.config/cursor +``` + +**Windows:** +```powershell +Remove-Item -Path "$env:APPDATA\cursor" -Recurse -Force +``` + +--- + +## Troubleshooting + +### "Permission Denied" Errors + +- **Linux/macOS:** Run commands with `sudo` +- **Windows:** Run PowerShell as Administrator + +### Application Still Appears in Menu + +- **macOS:** Restart Finder: `killall Finder` +- **Windows:** Restart Explorer: `taskkill /f /im explorer.exe && start explorer.exe` +- **Linux:** Log out and log back in, or restart + +### Files Cannot Be Deleted (Application Running) + +1. Close Cursor completely +2. Check Task Manager/Activity Monitor for any running Cursor processes +3. End all Cursor-related processes +4. Try uninstalling again + +--- + +## Need Help? + +If you encounter issues during uninstallation: + +1. Check if Cursor is still running and close it +2. Restart your computer and try again +3. Search for remaining files manually +4. Contact Cursor support for assistance + +--- + +## Reinstallation + +If you plan to reinstall Cursor: + +1. Complete the uninstallation process above +2. Restart your computer +3. Download the latest version from [cursor.sh](https://cursor.sh) +4. Install following the platform-specific instructions diff --git a/UNINSTALL_README.md b/UNINSTALL_README.md new file mode 100644 index 000000000..099f02800 --- /dev/null +++ b/UNINSTALL_README.md @@ -0,0 +1,134 @@ +# Cursor Uninstall Tools + +This directory contains tools and documentation for uninstalling Cursor from your system. + +## Files + +- **UNINSTALL_CURSOR.md** - Comprehensive manual uninstall guide for all platforms +- **uninstall-cursor.sh** - Automated uninstall script for Linux and macOS +- **uninstall-cursor.ps1** - Automated uninstall script for Windows + +## Quick Start + +### Linux / macOS + +#### Basic Uninstall +```bash +./uninstall-cursor.sh +``` + +#### Complete Uninstall (removes all user data) +```bash +./uninstall-cursor.sh --full +``` + +### Windows + +#### Basic Uninstall +```powershell +.\uninstall-cursor.ps1 +``` + +#### Complete Uninstall (removes all user data) +```powershell +.\uninstall-cursor.ps1 -Full +``` + +**Note:** For best results on Windows, run PowerShell as Administrator. + +## What Gets Removed + +### Basic Uninstall +- Cursor application files +- Application support files +- Caches +- Desktop shortcuts +- Start menu entries + +### Full Uninstall (--full or -Full flag) +All of the above, plus: +- User preferences and settings +- Extensions +- Workspace configurations +- All hidden configuration directories +- Registry entries (Windows only, requires admin) + +## Prerequisites + +### Linux / macOS +- Bash shell +- sudo access (for system-wide installations) + +### Windows +- PowerShell 5.1 or later +- Administrator privileges (recommended) + +## Safety Features + +Both scripts include: +- ✅ Detection of running Cursor instances +- ✅ Confirmation prompts before removal +- ✅ Verification after uninstallation +- ✅ Safe file removal (only removes if exists) +- ✅ Colored output for better readability + +## Troubleshooting + +### "Permission Denied" Errors +- **Linux/macOS:** Ensure the script is executable (`chmod +x uninstall-cursor.sh`) and use `sudo` if needed +- **Windows:** Run PowerShell as Administrator + +### Script Won't Run on macOS +macOS may block the script for security reasons: +```bash +chmod +x uninstall-cursor.sh +xattr -d com.apple.quarantine uninstall-cursor.sh +./uninstall-cursor.sh +``` + +### PowerShell Execution Policy Error +If Windows blocks the script: +```powershell +Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process +.\uninstall-cursor.ps1 +``` + +## Manual Uninstallation + +If you prefer to uninstall manually or the scripts don't work, see **UNINSTALL_CURSOR.md** for detailed step-by-step instructions for your platform. + +## Support + +If you encounter issues: +1. Check the troubleshooting section above +2. Review the manual uninstall guide (UNINSTALL_CURSOR.md) +3. Ensure Cursor is completely closed before uninstalling +4. Restart your computer and try again + +## After Uninstallation + +To verify Cursor is completely removed: + +**Linux/macOS:** +```bash +which cursor +find ~ -name "*cursor*" -o -name "*Cursor*" 2>/dev/null +``` + +**Windows:** +```powershell +Get-Command cursor -ErrorAction SilentlyContinue +Get-ChildItem -Path $env:LOCALAPPDATA -Filter "*cursor*" +Get-ChildItem -Path $env:APPDATA -Filter "*cursor*" +``` + +## Reinstallation + +If you decide to reinstall Cursor: +1. Restart your computer after uninstallation +2. Download the latest version from [cursor.sh](https://cursor.sh) +3. Follow the installation instructions for your platform + +--- + +**Note:** These scripts are provided as-is. Always backup important data before uninstalling any software. diff --git a/uninstall-cursor.ps1 b/uninstall-cursor.ps1 new file mode 100644 index 000000000..22a79b8d4 --- /dev/null +++ b/uninstall-cursor.ps1 @@ -0,0 +1,215 @@ +# Cursor Uninstall Script for Windows +# Usage: .\uninstall-cursor.ps1 [-Full] +# Options: +# -Full Performs a complete uninstall including all user data and configurations + +param( + [switch]$Full = $false +) + +# Check if running as Administrator +$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) + +Write-Host "Cursor Uninstall Script for Windows" -ForegroundColor Green +Write-Host "" + +if (-not $isAdmin) { + Write-Host "Warning: Not running as Administrator." -ForegroundColor Yellow + Write-Host "Some files may require administrator privileges to remove." -ForegroundColor Yellow + $continue = Read-Host "Continue anyway? (y/N)" + if ($continue -ne "y" -and $continue -ne "Y") { + exit + } +} + +# Function to remove path if it exists +function Remove-IfExists { + param( + [string]$Path + ) + + if (Test-Path $Path) { + Write-Host "Removing: $Path" -ForegroundColor Gray + try { + Remove-Item -Path $Path -Recurse -Force -ErrorAction Stop + } catch { + Write-Host "Error removing $Path : $_" -ForegroundColor Red + } + } +} + +# Check if Cursor is running +Write-Host "Checking if Cursor is running..." -ForegroundColor Cyan +$cursorProcesses = Get-Process | Where-Object { $_.Name -like "*cursor*" } + +if ($cursorProcesses) { + Write-Host "Cursor is currently running." -ForegroundColor Yellow + $quit = Read-Host "Would you like to quit Cursor now? (y/N)" + + if ($quit -eq "y" -or $quit -eq "Y") { + Write-Host "Stopping Cursor processes..." -ForegroundColor Gray + $cursorProcesses | ForEach-Object { + try { + Stop-Process -Id $_.Id -Force + } catch { + Write-Host "Warning: Could not stop process $($_.Name)" -ForegroundColor Yellow + } + } + Start-Sleep -Seconds 2 + } else { + Write-Host "Please quit Cursor before uninstalling." -ForegroundColor Red + exit + } +} + +Write-Host "" +Write-Host "Starting uninstallation..." -ForegroundColor Green +Write-Host "" + +# Try to uninstall using Windows uninstaller +Write-Host "Attempting to uninstall via Windows installer..." -ForegroundColor Cyan + +$uninstallKeys = @( + "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", + "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*", + "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" +) + +$cursorUninstaller = $null +foreach ($key in $uninstallKeys) { + $apps = Get-ItemProperty $key -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -like "*Cursor*" } + if ($apps) { + $cursorUninstaller = $apps.UninstallString + break + } +} + +if ($cursorUninstaller) { + Write-Host "Found Cursor uninstaller: $cursorUninstaller" -ForegroundColor Gray + try { + # Parse and execute uninstaller + if ($cursorUninstaller -match '^"(.+?)"(.*)$') { + $uninstallerPath = $matches[1] + $uninstallerArgs = $matches[2].Trim() + } else { + $uninstallerPath = $cursorUninstaller + $uninstallerArgs = "" + } + + Start-Process -FilePath $uninstallerPath -ArgumentList "$uninstallerArgs /S" -Wait -NoNewWindow + Write-Host "Uninstaller completed." -ForegroundColor Green + } catch { + Write-Host "Warning: Could not run uninstaller: $_" -ForegroundColor Yellow + Write-Host "Proceeding with manual removal..." -ForegroundColor Yellow + } +} else { + Write-Host "No Windows uninstaller found. Proceeding with manual removal..." -ForegroundColor Yellow +} + +Write-Host "" +Write-Host "Removing application directories..." -ForegroundColor Cyan + +# Remove application directories +Remove-IfExists "$env:LOCALAPPDATA\Programs\Cursor" +Remove-IfExists "$env:LOCALAPPDATA\Programs\cursor" + +# Remove user data and configuration +Write-Host "Removing user data and configuration..." -ForegroundColor Cyan +Remove-IfExists "$env:APPDATA\Cursor" +Remove-IfExists "$env:LOCALAPPDATA\Cursor" + +# Remove shortcuts +Write-Host "Removing shortcuts..." -ForegroundColor Cyan +Remove-IfExists "$env:USERPROFILE\Desktop\Cursor.lnk" +Remove-IfExists "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Cursor.lnk" +Remove-IfExists "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Cursor" + +# Full uninstall +if ($Full) { + Write-Host "" + Write-Host "Performing full uninstall (including all user data)..." -ForegroundColor Yellow + + Remove-IfExists "$env:USERPROFILE\.cursor" + Remove-IfExists "$env:APPDATA\cursor" + + # Clean registry entries + if ($isAdmin) { + Write-Host "Cleaning registry entries..." -ForegroundColor Cyan + + $registryPaths = @( + "HKCU:\Software\Cursor", + "HKLM:\SOFTWARE\Cursor", + "HKLM:\SOFTWARE\WOW6432Node\Cursor" + ) + + foreach ($regPath in $registryPaths) { + if (Test-Path $regPath) { + try { + Remove-Item -Path $regPath -Recurse -Force + Write-Host "Removed registry key: $regPath" -ForegroundColor Gray + } catch { + Write-Host "Warning: Could not remove registry key $regPath : $_" -ForegroundColor Yellow + } + } + } + } else { + Write-Host "Skipping registry cleanup (requires Administrator privileges)" -ForegroundColor Yellow + } + + # Search for remaining files + Write-Host "Searching for any remaining Cursor files..." -ForegroundColor Cyan + $searchPaths = @( + "$env:LOCALAPPDATA", + "$env:APPDATA" + ) + + foreach ($searchPath in $searchPaths) { + Get-ChildItem -Path $searchPath -Filter "*cursor*" -Recurse -ErrorAction SilentlyContinue | ForEach-Object { + Remove-IfExists $_.FullName + } + } +} + +Write-Host "" +Write-Host "Uninstallation complete!" -ForegroundColor Green +Write-Host "" + +# Verification +Write-Host "Verifying uninstallation..." -ForegroundColor Cyan +$foundFiles = $false + +$checkPaths = @( + "$env:LOCALAPPDATA\Programs\Cursor", + "$env:APPDATA\Cursor", + "$env:LOCALAPPDATA\Cursor" +) + +foreach ($path in $checkPaths) { + if (Test-Path $path) { + Write-Host "Warning: $path still exists" -ForegroundColor Yellow + $foundFiles = $true + } +} + +if (-not $foundFiles) { + Write-Host "✓ Cursor has been successfully uninstalled!" -ForegroundColor Green +} else { + Write-Host "⚠ Some Cursor files may still remain. Please check manually." -ForegroundColor Yellow +} + +Write-Host "" +Write-Host "Thank you for using Cursor!" -ForegroundColor Cyan +Write-Host "" + +if (-not $Full) { + Write-Host "Tip: Run with -Full flag to remove all user data and configurations" -ForegroundColor Yellow +} + +# Prompt to restart Explorer +Write-Host "" +$restart = Read-Host "Would you like to restart Windows Explorer to refresh the UI? (y/N)" +if ($restart -eq "y" -or $restart -eq "Y") { + Write-Host "Restarting Explorer..." -ForegroundColor Gray + Stop-Process -Name explorer -Force + Start-Process explorer +} diff --git a/uninstall-cursor.sh b/uninstall-cursor.sh new file mode 100755 index 000000000..46ae134d8 --- /dev/null +++ b/uninstall-cursor.sh @@ -0,0 +1,179 @@ +#!/bin/bash + +# Cursor Uninstall Script for Linux and macOS +# Usage: ./uninstall-cursor.sh [--full] +# Options: +# --full Performs a complete uninstall including all user data and configurations + +set -e + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Detect OS +OS="unknown" +if [[ "$OSTYPE" == "linux-gnu"* ]]; then + OS="linux" +elif [[ "$OSTYPE" == "darwin"* ]]; then + OS="macos" +else + echo -e "${RED}Unsupported operating system: $OSTYPE${NC}" + echo "This script only supports Linux and macOS." + exit 1 +fi + +# Parse arguments +FULL_UNINSTALL=false +if [[ "$1" == "--full" ]]; then + FULL_UNINSTALL=true +fi + +echo -e "${GREEN}Cursor Uninstall Script${NC}" +echo -e "Operating System: ${YELLOW}$OS${NC}" +echo "" + +# Check if running as root (not recommended) +if [[ $EUID -eq 0 ]]; then + echo -e "${YELLOW}Warning: Running as root. This may cause issues with removing user-specific files.${NC}" + read -p "Continue anyway? (y/N): " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + exit 1 + fi +fi + +# Function to remove file/directory if it exists +remove_if_exists() { + local path="$1" + local use_sudo="$2" + + if [ -e "$path" ]; then + echo "Removing: $path" + if [ "$use_sudo" = "true" ]; then + sudo rm -rf "$path" + else + rm -rf "$path" + fi + fi +} + +# Check if Cursor is running +echo "Checking if Cursor is running..." +if [[ "$OS" == "macos" ]]; then + if pgrep -x "Cursor" > /dev/null; then + echo -e "${YELLOW}Cursor is currently running.${NC}" + read -p "Would you like to quit Cursor now? (y/N): " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]]; then + killall Cursor 2>/dev/null || true + sleep 2 + else + echo -e "${RED}Please quit Cursor before uninstalling.${NC}" + exit 1 + fi + fi +elif [[ "$OS" == "linux" ]]; then + if pgrep -i cursor > /dev/null; then + echo -e "${YELLOW}Cursor is currently running.${NC}" + read -p "Would you like to quit Cursor now? (y/N): " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]]; then + pkill -i cursor 2>/dev/null || true + sleep 2 + else + echo -e "${RED}Please quit Cursor before uninstalling.${NC}" + exit 1 + fi + fi +fi + +echo "" +echo -e "${GREEN}Starting uninstallation...${NC}" +echo "" + +# Platform-specific uninstallation +if [[ "$OS" == "macos" ]]; then + echo "Removing Cursor application..." + remove_if_exists "/Applications/Cursor.app" false + + echo "Removing user data and configuration..." + remove_if_exists "$HOME/Library/Application Support/Cursor" false + remove_if_exists "$HOME/Library/Preferences/com.cursor.plist" false + remove_if_exists "$HOME/Library/Caches/Cursor" false + remove_if_exists "$HOME/Library/Caches/com.cursor.Cursor" false + remove_if_exists "$HOME/Library/Caches/com.cursor.ShipIt" false + remove_if_exists "$HOME/Library/Logs/Cursor" false + remove_if_exists "$HOME/Library/Saved Application State/com.cursor.savedState" false + +elif [[ "$OS" == "linux" ]]; then + echo "Removing Cursor application..." + remove_if_exists "/opt/Cursor" true + remove_if_exists "/usr/share/cursor" true + remove_if_exists "$HOME/.local/share/cursor" false + + echo "Removing desktop entries..." + remove_if_exists "$HOME/.local/share/applications/cursor.desktop" false + remove_if_exists "/usr/share/applications/cursor.desktop" true + + echo "Removing symlinks..." + remove_if_exists "/usr/bin/cursor" true + remove_if_exists "/usr/local/bin/cursor" true + + echo "Removing user data and configuration..." + remove_if_exists "$HOME/.config/Cursor" false + remove_if_exists "$HOME/.cache/Cursor" false + remove_if_exists "$HOME/.local/share/Cursor" false +fi + +# Full uninstall: remove additional data +if [[ "$FULL_UNINSTALL" == true ]]; then + echo "" + echo -e "${YELLOW}Performing full uninstall (including all user data)...${NC}" + remove_if_exists "$HOME/.cursor" false + remove_if_exists "$HOME/.config/cursor" false + + # Search for any remaining cursor-related files + echo "Searching for any remaining Cursor files..." + if [[ "$OS" == "macos" ]]; then + find "$HOME/Library" -iname "*cursor*" -maxdepth 3 2>/dev/null | while read -r file; do + remove_if_exists "$file" false + done + fi +fi + +echo "" +echo -e "${GREEN}Uninstallation complete!${NC}" +echo "" + +# Verification +echo "Verifying uninstallation..." +FOUND_FILES=false + +if [[ "$OS" == "macos" ]]; then + if [ -d "/Applications/Cursor.app" ]; then + echo -e "${YELLOW}Warning: /Applications/Cursor.app still exists${NC}" + FOUND_FILES=true + fi +elif [[ "$OS" == "linux" ]]; then + if command -v cursor &> /dev/null; then + echo -e "${YELLOW}Warning: 'cursor' command still available in PATH${NC}" + FOUND_FILES=true + fi +fi + +if [[ "$FOUND_FILES" == false ]]; then + echo -e "${GREEN}✓ Cursor has been successfully uninstalled!${NC}" +else + echo -e "${YELLOW}⚠ Some Cursor files may still remain. Please check manually.${NC}" +fi + +echo "" +echo "Thank you for using Cursor!" +echo "" + +if [[ "$FULL_UNINSTALL" == false ]]; then + echo -e "${YELLOW}Tip: Run with --full flag to remove all user data and configurations${NC}" +fi From 7422a8fd503238702ba03a0fac827ad0fe32ec86 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 27 Nov 2025 14:50:26 +0000 Subject: [PATCH 2/2] Add step-by-step uninstall guides - Add HOW_TO_UNINSTALL.md with detailed instructions for completing the uninstall process - Add QUICK_START.md for immediate uninstall with simple commands - Include troubleshooting for common issues - Add verification steps for each platform --- HOW_TO_UNINSTALL.md | 218 ++++++++++++++++++++++++++++++++++++++++++++ QUICK_START.md | 76 +++++++++++++++ 2 files changed, 294 insertions(+) create mode 100644 HOW_TO_UNINSTALL.md create mode 100644 QUICK_START.md diff --git a/HOW_TO_UNINSTALL.md b/HOW_TO_UNINSTALL.md new file mode 100644 index 000000000..e889d9cda --- /dev/null +++ b/HOW_TO_UNINSTALL.md @@ -0,0 +1,218 @@ +# How to Complete Cursor Uninstallation + +This guide shows you exactly how to uninstall Cursor using the provided tools. + +## Step-by-Step Instructions + +### For Linux or macOS Users + +#### Step 1: Download the Script +If you don't have the script yet, download or copy `uninstall-cursor.sh` to your computer. + +#### Step 2: Open Terminal +Open your terminal application. + +#### Step 3: Navigate to Script Location +```bash +cd /path/to/script/directory +``` + +#### Step 4: Make Script Executable (if not already) +```bash +chmod +x uninstall-cursor.sh +``` + +#### Step 5: Choose Your Uninstall Type + +**Option A: Basic Uninstall (removes application only)** +```bash +./uninstall-cursor.sh +``` + +**Option B: Complete Uninstall (removes everything including user data)** +```bash +./uninstall-cursor.sh --full +``` + +#### Step 6: Follow the Prompts +- The script will check if Cursor is running +- If running, it will ask if you want to quit it +- Answer `y` for yes or `n` for no +- The script will remove all Cursor files +- It will verify the uninstallation when complete + +--- + +### For Windows Users + +#### Step 1: Download the Script +Download or copy `uninstall-cursor.ps1` to your computer. + +#### Step 2: Open PowerShell as Administrator +- Press `Win + X` +- Select "Windows PowerShell (Admin)" or "Terminal (Admin)" +- Or search for "PowerShell", right-click, and select "Run as administrator" + +#### Step 3: Navigate to Script Location +```powershell +cd C:\path\to\script\directory +``` + +#### Step 4: Allow Script Execution (if needed) +If you get an execution policy error: +```powershell +Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process +``` + +#### Step 5: Choose Your Uninstall Type + +**Option A: Basic Uninstall (removes application only)** +```powershell +.\uninstall-cursor.ps1 +``` + +**Option B: Complete Uninstall (removes everything including user data)** +```powershell +.\uninstall-cursor.ps1 -Full +``` + +#### Step 6: Follow the Prompts +- The script will check if Cursor is running +- If running, it will ask if you want to quit it +- Answer `y` for yes or `n` for no +- The script will remove all Cursor files +- At the end, it may ask if you want to restart Windows Explorer +- It will verify the uninstallation when complete + +--- + +## What Happens During Uninstallation + +### Basic Uninstall Removes: +- ✅ Cursor application files +- ✅ Application cache +- ✅ Desktop shortcuts +- ✅ Start menu entries (Windows) +- ✅ System integrations + +### Full Uninstall Removes: +- ✅ Everything from basic uninstall +- ✅ All user settings and preferences +- ✅ Extensions and workspaces +- ✅ Hidden configuration directories +- ✅ Registry entries (Windows, requires admin) + +--- + +## Verification + +After uninstallation, verify Cursor is removed: + +### Linux/macOS: +```bash +# Check if command exists +which cursor + +# Search for remaining files (should return nothing or very little) +find ~ -name "*cursor*" -o -name "*Cursor*" 2>/dev/null +``` + +### Windows: +```powershell +# Check if command exists +Get-Command cursor -ErrorAction SilentlyContinue + +# Search for remaining files +Get-ChildItem -Path $env:LOCALAPPDATA -Filter "*cursor*" +Get-ChildItem -Path $env:APPDATA -Filter "*cursor*" +``` + +--- + +## Troubleshooting + +### "Permission Denied" Error + +**Linux/macOS:** +```bash +# Make script executable +chmod +x uninstall-cursor.sh + +# Or run with sudo (not recommended for user files) +sudo ./uninstall-cursor.sh +``` + +**Windows:** +```powershell +# Run PowerShell as Administrator +# Right-click PowerShell -> Run as Administrator +``` + +### "Cursor is Running" Warning + +1. Close all Cursor windows +2. Check system tray/taskbar for running instance +3. Open Task Manager (Windows) or Activity Monitor (macOS): + - End all Cursor processes +4. Run the uninstall script again + +### Script Won't Run on macOS (Security Block) + +```bash +# Remove quarantine attribute +xattr -d com.apple.quarantine uninstall-cursor.sh + +# Then run the script +./uninstall-cursor.sh +``` + +### PowerShell Script Blocked on Windows + +```powershell +# Temporarily bypass execution policy for this session +Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process + +# Then run the script +.\uninstall-cursor.ps1 +``` + +### Manual Uninstall Needed + +If the scripts don't work, see `UNINSTALL_CURSOR.md` for complete manual uninstall instructions. + +--- + +## After Uninstallation + +### Clean Up Installation +It's recommended to restart your computer after uninstalling to ensure all processes are terminated and files are released. + +### Reinstall (If Needed) +If you want to reinstall Cursor: +1. Restart your computer +2. Visit [cursor.sh](https://cursor.sh) +3. Download and install the latest version + +--- + +## Quick Reference + +| Platform | Basic Command | Full Uninstall Command | +|----------|--------------|----------------------| +| Linux/macOS | `./uninstall-cursor.sh` | `./uninstall-cursor.sh --full` | +| Windows | `.\uninstall-cursor.ps1` | `.\uninstall-cursor.ps1 -Full` | + +--- + +## Need More Help? + +1. **For detailed manual steps**: See `UNINSTALL_CURSOR.md` +2. **For script details**: See `UNINSTALL_README.md` +3. **Still having issues**: Restart your computer and try again + +--- + +**Important Notes:** +- ⚠️ The full uninstall will delete ALL your Cursor settings, extensions, and workspaces +- ⚠️ Make sure to backup any important settings before full uninstall +- ⚠️ Close Cursor completely before running the uninstall script diff --git a/QUICK_START.md b/QUICK_START.md new file mode 100644 index 000000000..882425b96 --- /dev/null +++ b/QUICK_START.md @@ -0,0 +1,76 @@ +# Quick Start: Uninstall Cursor Now + +Choose your operating system and follow the commands: + +--- + +## 🐧 Linux / 🍎 macOS + +### 1. Open Terminal + +### 2. Make script executable: +```bash +chmod +x uninstall-cursor.sh +``` + +### 3. Run uninstall: + +**Basic uninstall:** +```bash +./uninstall-cursor.sh +``` + +**Complete uninstall (removes all data):** +```bash +./uninstall-cursor.sh --full +``` + +### Done! ✅ + +--- + +## 🪟 Windows + +### 1. Open PowerShell as Administrator +- Press `Win + X` +- Click "Terminal (Admin)" or "PowerShell (Admin)" + +### 2. If blocked, run: +```powershell +Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process +``` + +### 3. Run uninstall: + +**Basic uninstall:** +```powershell +.\uninstall-cursor.ps1 +``` + +**Complete uninstall (removes all data):** +```powershell +.\uninstall-cursor.ps1 -Full +``` + +### Done! ✅ + +--- + +## What's the Difference? + +| Type | What Gets Removed | +|------|-------------------| +| **Basic** | App files, cache, shortcuts | +| **Full** | Everything above + settings, extensions, workspaces | + +--- + +## Having Issues? + +- **"Permission denied"** → Run as admin (Windows) or use `chmod +x` (Linux/macOS) +- **"Cursor is running"** → Close Cursor completely first +- **Script won't run** → See `HOW_TO_UNINSTALL.md` for troubleshooting + +--- + +Need detailed instructions? → See `HOW_TO_UNINSTALL.md`