How I Fixed the ‘Cannot Activate C# Dev Kit’ Dependency Error in Cursor IDE
June 19, 2025How I Fixed the ‘Cannot Activate PlatformIO IDE’ Error in Cursor After Installing the C/C++ Extension
June 19, 2025I recently updated my Cursor IDE to version 1.0 and immediately faced a frustrating issue: the window would freeze and become completely unresponsive, especially on specific projects. It halted my coding workflow, and after some digging, I found solutions that actually worked.
The Core Problem I Encountered
After the update, Cursor started freezing intermittently—sometimes it wouldn’t respond to clicks or keystrokes for minutes. This happened only on certain codebases, making it impossible to work efficiently. I tried reinstalling Cursor and clicking “keep waiting,” but nothing helped until I pinpointed the root cause.
What Was Causing the Freeze
I discovered that large chat histories were the main culprit. Cursor has a 100MB storage limit for chat history, and exceeding this can bog down the UI thread, leading to unresponsiveness. In severe cases, it even caused system-wide slowdowns due to file deadlocks in the state.vscdb file.
Solutions That Worked for Me
Here’s the step-by-step approach I used to resolve the issue:
- Delete Unnecessary Chat History: I manually cleared old chats to stay under the 100MB limit. Navigate to these paths and delete the oldest folders:- Windows: %APPDATA%\Cursor\User\workspaceStorage
- macOS: ~/Library/Application Support/Cursor/User/workspaceStorage
- Linux: ~/.config/Cursor/User/workspaceStorage
 For important chats, I exported them using the SpecStory extension from the Visual Studio Marketplace. 
- Move the State File to RAM with a Script: To handle persistent freezes, I created a bash script that moves state.vscdb to a RAM-based directory. This prevents disk I/O issues. Here’s the script I used:#!/bin/bashRun this script at startup to keep state.vscdb in RAM.
 # Source and destination paths
 BACKUP_DIR="$HOME/.config/Cursor/User/globalStorage"
 SOURCE_FILE="${BACKUP_DIR}/state.vscdb"
 TEMP_DIR="/tmp/cursor_state"
 TEMP_FILE="$TEMP_DIR/state.vscdb"
 BACKUP_FILE="$BACKUP_DIR/state.vscdb_backup"# Function to create backup 
 create_backup() {
 mkdir -p "$BACKUP_DIR"
 cp "$TEMP_FILE" "$BACKUP_FILE"
 echo "Backup created: $BACKUP_FILE"
 }mkdir -p "$TEMP_DIR" 
 if [ -f "$BACKUP_FILE" ]; then
 cp "$BACKUP_FILE" "$TEMP_FILE"
 else
 if [ ! -f "$SOURCE_FILE" ]; then
 echo "Error: File not found"
 exit 1
 fi
 cp "$SOURCE_FILE" "$TEMP_FILE"
 fi
 rm -f "$SOURCE_FILE"
 ln -s "$TEMP_FILE" "$SOURCE_FILE"
 echo "Symlink created"# Run backup loop in background 
 while true; do
 create_backup
 sleep 600
 done &
Preventing Future Issues
To avoid recurrences, I now proactively manage my chat history:
- Regularly delete old or unused chats every few days using the file paths above.
- Use the SpecStory extension to export and archive important conversations.
- Monitor chat size and keep it under 100MB—I aim to start new chats for different code sections to limit accumulation.
My takeaway: While these fixes got Cursor running smoothly, the best long-term solution would be for the IDE to process chat history in background threads, ensuring the UI never blocks. For now, these steps have saved my workflow!

