Cursor won't open, the AI stops responding, sign-in fails, or it's crawling — here are the eight problems iOS developers hit most often with Cursor and the exact fixes for each.
If Cursor fails to launch or shows a blank window, first fully quit it (Cmd+Q, and check Activity Monitor for lingering Cursor processes), then reopen. If that fails, the most common cause is a corrupted window state or a bad extension loaded on startup. Try launching with extensions disabled by opening Cursor from the terminal with the '--disable-extensions' flag to confirm an extension is the culprit. On macOS, also verify the app has permission under System Settings > Privacy & Security if it was recently updated. A clean reinstall from the official site, keeping your settings, resolves most stubborn launch failures.
When Cmd+L chat or Tab autocomplete goes silent, the issue is usually connectivity, authentication, or rate limits rather than a broken install. Check your internet connection, then confirm you are still signed in (open settings and look at your account). If you see a 'Too Many Requests' or rate-limit message, you have hit your plan's usage allowance — see our dedicated guide on fixing Cursor rate limits. If chat works but Tab does not, make sure Tab is enabled in settings and that you have not disabled the autocomplete model. Toggling the AI features off and on, or reloading the window, clears transient stalls.
Authentication problems often present as being repeatedly logged out or unable to complete the browser-based sign-in. Make sure your default browser allows the redirect back to Cursor and that no VPN or corporate proxy is blocking it. Sign out fully from settings, quit Cursor, reopen, and sign in again. If the browser handoff fails, Cursor usually offers a manual token or code option — follow that flow. Corporate networks that intercept TLS are a frequent cause; testing on a different network quickly confirms whether the network is the problem.
Sluggishness usually comes from indexing a very large project, too many heavy extensions, or low available memory. Check whether Cursor is mid-index (a progress indicator appears in the status bar) and let it finish. Add a .cursorignore file to exclude large folders such as build output, Pods, DerivedData, and node_modules from indexing — this alone dramatically speeds up big iOS projects. Disable extensions you do not use, and close other memory-hungry apps. If a single file is huge, editing it can lag; splitting it helps both performance and your AI results.
Because Cursor uses the Open VSX registry instead of the Microsoft Marketplace, some extensions are unavailable or out of date there. If you cannot find an extension, download its .vsix from a trusted source and install it via the Extensions panel's overflow menu ('Install from VSIX'). If an installed extension misbehaves, disable it, reload the window, and re-enable it one at a time to isolate conflicts. For Swift specifically, ensure you installed the official Swift extension and that the toolchain path is valid, as covered in our Swift setup guide.
If chat gives answers that ignore recent changes, or @-references cannot find files, the index may be stale. Open the command palette (Cmd+Shift+P) and look for a re-index or 'resync index' command, or simply reload the window. Excluding irrelevant directories with .cursorignore keeps the index focused and fast. For very large monorepos, a stale index is common after big branch switches; a manual re-index resolves it. Confirm the files you expect are actually inside the opened folder — Cursor only indexes the workspace root you opened.
If Swift shows no diagnostics or completions, the language server is not running. This is a setup issue rather than a Cursor bug: install the Swift extension, ensure the Swift toolchain is selected, and for iOS app projects generate a buildServer.json with xcode-build-server. Read the SourceKit-LSP output channel for the exact error. Our focused guide on fixing Cursor Swift autocomplete walks through each cause. Remember that Cursor's AI features still work without the language server — only the precise, non-AI intelligence depends on it.
If problems persist across restarts, do a clean reset. Back up your settings (settings.json) and any .cursorrules, then quit Cursor. Reinstalling from the official site replaces the app binaries without deleting your projects. If you suspect corrupted user data, you can also reset Cursor's user settings folder — but export your configuration first so you can restore it. After reinstalling, reopen your project, let it index, reload the window, and confirm sign-in. This clears the long tail of issues caused by partial updates or corrupted local state, and it is safe because your code lives in your project folder, untouched.
The usual causes are a dropped internet connection, being signed out, or hitting your plan's rate limit (shown as 'Too Many Requests'). Check connectivity, confirm you are signed in, and review your usage. Reloading the window clears most transient stalls.
Large projects strain indexing. Add a .cursorignore file excluding build output, Pods, DerivedData, and node_modules, let any in-progress indexing finish, disable unused extensions, and close other memory-heavy apps. This usually restores responsiveness.
Cursor uses the Open VSX registry rather than the Microsoft Marketplace, so some extensions are missing or outdated. Download the extension's .vsix file from a trusted source and install it via the Extensions panel's 'Install from VSIX' option.
No. Your code lives in your project folder, which reinstalling does not touch. Back up your settings.json and .cursorrules first if you want to preserve configuration, then reinstall from the official site to fix stubborn issues.