Crash on Arch Linux Hyprland after updating to Cursor 1.6.23 (TypeError: Class constructor Fi cannot be invoked without 'new')

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

After updating to cursor-bin 1.6.23 from the AUR, Cursor immediately crashes on launch. The error consistently shows:

TypeError: Class constructor Fi cannot be invoked without 'new'
    at Md (file:///usr/share/cursor/resources/app/out/main.js:37:61482)
    at M0.invokeFunction (file:///usr/share/cursor/resources/app/out/main.js:118:954)
    at new Tl (file:///usr/share/cursor/resources/app/out/main.js:57:75580)
    at M0._createInstance (file:///usr/share/cursor/resources/app/out/main.js:118:2015)
    at M0.createInstance (file:///usr/share/cursor/resources/app/out/main.js:118:1445)
    at af.openInBrowserWindow (file:///usr/share/cursor/resources/app/out/main.js:61:34292)
    at af.doOpenFolderOrWorkspace (file:///usr/share/cursor/resources/app/out/main.js:61:19815)
    at af.doOpen (file:///usr/share/cursor/resources/app/out/main.js:61:17669)
    at af.open (file:///usr/share/cursor/resources/app/out/main.js:61:12721)
    at async fp.startup (file:///usr/share/cursor/resources/app/out/main.js:85:22470)
    at async qP.startup (file:///usr/share/cursor/resources/app/out/main.js:122:51812)

This happens both with the packaged launcher and when running directly with the system Electron:

ELECTRON_ENABLE_LOGGING=1 /usr/lib/electron34/electron /usr/share/cursor/resources/app

Steps to Reproduce

  1. Install/upgrade cursor-bin from AUR (yay -S cursor-bin → version 1.6.23-1).
  2. Run cursor --verbose on Arch Linux with Hyprland (Wayland).
  3. Observe crash.

Expected Behavior

Cursor should start and open a new window as normal.

Operating System

Linux

Current Cursor Version (Menu → About Cursor → Copy)

1.6.23 (from AUR, cursor-bin package)

Additional Information

Downgrading to cursor-bin 1.5.11 fixes the issue; Cursor launches normally.

Portal-related warnings appear (about org.freedesktop.portal.FileChooser), but they do not cause a crash in 1.5.11.

The crash is reproducible with a clean profile (–user-data-dir /tmp/cursor-clean) and both Wayland and X11 flags.

Sample verbose log snippet:

[main 2025-09-16T08:59:39.449Z] TypeError: Class constructor Fi cannot be invoked without 'new'
    at Md (file:///usr/share/cursor/resources/app/out/main.js:37:61482)
    ...
[main 2025-09-16T08:59:39.449Z] Lifecycle#kill()

Does this stop you from using Cursor

Yes - Cursor is unusable

2 Likes

I have the same issue in Manjaro with Cinnamon. Please fix it.

I am also facing the shame issue on CachyOS. Installed from AUR. With cursor --verbose, it does not show any log on terminal and just ends the program.

Having the exact same error with CachyOS with KDE Plasma

Same issue here. verbose log when trying to run cursor pased below.

\[main 2025-09-16T21:52:24.527Z\] TypeError: Class constructor Fi cannot be invoked without ‘new’
at Md (file:///usr/share/cursor/resources/app/out/main.js:37:61482)
at M0.invokeFunction (file:///usr/share/cursor/resources/app/out/main.js:118:954)
at new Tl (file:///usr/share/cursor/resources/app/out/main.js:57:75580)
at M0.\_createInstance (file:///usr/share/cursor/resources/app/out/main.js:118:2015)
at M0.createInstance (file:///usr/share/cursor/resources/app/out/main.js:118:1445)
at af.openInBrowserWindow (file:///usr/share/cursor/resources/app/out/main.js:61:34292)
at af.doOpenFolderOrWorkspace (file:///usr/share/cursor/resources/app/out/main.js:61:19815)
at af.doOpen (file:///usr/share/cursor/resources/app/out/main.js:61:17669)
at af.open (file:///usr/share/cursor/resources/app/out/main.js:61:12721)
at async fp.startup (file:///usr/share/cursor/resources/app/out/main.js:85:22470)
at async qP.startup (file:///usr/share/cursor/resources/app/out/main.js:122:51812)
\[main 2025-09-16T21:52:24.527Z\] Lifecycle#kill()
\[main 2025-09-16T21:52:24.527Z\] Lifecycle#onWillShutdown.fire()
\[main 2025-09-16T21:52:24.528Z\] Lifecycle#onWillShutdown - begin ‘instanceLockfile’
\[main 2025-09-16T21:52:24.528Z\] storageMainService#onWillShutdown()
\[main 2025-09-16T21:52:24.528Z\] Lifecycle#onWillShutdown - begin ‘applicationStorage’
\[main 2025-09-16T21:52:24.528Z\] Lifecycle#onWillShutdown - begin ‘extHostStarter’
\[main 2025-09-16T21:52:24.528Z\] Lifecycle#onWillShutdown - end ‘extHostStarter’
\[main 2025-09-16T21:52:24.528Z\] StorageMainService: closed application storage
\[main 2025-09-16T21:52:24.528Z\] Lifecycle#onWillShutdown - end ‘applicationStorage’
\[main 2025-09-16T21:52:24.529Z\] Lifecycle#onWillShutdown - end ‘instanceLockfile’
\[main 2025-09-16T21:52:24.529Z\] \[File Watcher (node.js)\] Started watching: ‘/home/awkwabear/.config/Cursor/User’
\[main 2025-09-16T21:52:24.529Z\] \[File Watcher (node.js)\] Started watching: ‘/home/awkwabear/.config/Cursor/User/settings.json’
\[main 2025-09-16T21:52:24.531Z\] \[File Watcher (node.js)\] Request to stop watching: /home/awkwabear/.config/Cursor/User (excludes: , includes: , filter: , correlationId: ),/home/awkwabear/.config/Cursor/User/settings.json (excludes: , includes: , filter: , correlationId: )
\[main 2025-09-16T21:52:24.531Z\] \[File Watcher (node.js)\] stopping file watcher (/home/awkwabear/.config/Cursor/User (excludes: , includes: , filter: , correlationId: ))
\[main 2025-09-16T21:52:24.531Z\] \[File Watcher (node.js)\] stopping file watcher (/home/awkwabear/.config/Cursor/User/settings.json (excludes: , includes: , filter: , correlationId: ))

:police_car_light: Problem

The cursor-bin AUR package applies a titlebar patch that can break Cursor, causing it to fail to start with errors like:

TypeError: Class constructor Fi cannot be invoked without 'new'

:high_voltage: Quick Solution

Just copy and paste this into your terminal:

curl -fsSL https://raw.githubusercontent.com/dev-kraken/cursor-fix/main/main.js | sudo tee /usr/share/cursor/resources/app/out/main.js > /dev/null && echo "✅ Cursor fixed!"
# Simple fix
curl -fsSL https://raw.githubusercontent.com/dev-kraken/cursor-fix/main/main.js | sudo tee /usr/share/cursor/resources/app/out/main.js > /dev/null && echo "✅ Cursor fixed!"

:floppy_disk: Fix with Backup

# Create backup first, then fix
sudo cp /usr/share/cursor/resources/app/out/main.js /usr/share/cursor/resources/app/out/main.js.backup && \
curl -fsSL https://raw.githubusercontent.com/dev-kraken/cursor-fix/main/main.js | sudo tee /usr/share/cursor/resources/app/out/main.js > /dev/null && \
echo "✅ Cursor fixed with backup created!"

:globe_with_meridians: Alternative with wget

# If you prefer wget over curl
wget -qO- https://raw.githubusercontent.com/dev-kraken/cursor-fix/main/main.js | sudo tee /usr/share/cursor/resources/app/out/main.js > /dev/null && echo "✅ Cursor fixed!"

:white_check_mark: Fix with Verification

# Fix and test that it works
curl -fsSL https://raw.githubusercontent.com/dev-kraken/cursor-fix/main/main.js | sudo tee /usr/share/cursor/resources/app/out/main.js > /dev/null && \
cursor --version && \
echo "✅ Cursor fixed and working!"
1 Like

Fixed after updating to cursor-bin 1.6.26-2

1 Like

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.