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/bash
Run 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!