Bug in extension URL handler on Linux

Hi,

Behavior

I’m trying to open the following cursor-link on linux:

xdg-open cursor://gitpod.gitpod-flex/connect?endpoint=https%3A%2F%2Fapp.gitpod.io%2Fapi&environmentId=0194d52a-8a74-7246-9406-dba1debb182b&userId=01920f21-0c11-7e20-8b7e-433d56a0bfdb

Result: a Cursor window pops up, with a fresh file named connect?endpoint=https%3A%2F%2Fapp.gitpod.io%2Fapi&environmentId=0194d52a-8a74-7246-9406-dba1debb182b&userId=01920f21-0c11-7e20-8b7e-433d56a0bfdb

Expectation: Cursor suggests installing the extension identified by gitpod.gitpod-flex.

System

  • Linux Mint 22.1 (Xia), based on Ubuntu 24.04
  • cursor appimage is properly set up using appimaged (github dot com/probonopd/go-appimage)
    • the URL definitely reaches the application as it opens a window

How to reproduce

  • sign up on https://app.gitpod.io
  • create and start an environment
  • install cursor appimage (can also use the
  • install the gitpod CLI, run gitpod environment open <environment_id> --editor=cursor

Alternative I also tried

Result: a Cursor window pops up, but nothing else happens. Interestingly, it does not open a fresh file with the path+query string as name.

Context

My colleagues report this working flawlessly on MacOs, so I suppose it’s something specific to Linux.
Also, the same concept works in upstream VsCode, obviously.

Are u having issues with curl on cursor too ? Im using same distro. Im using Gear Lever to place Cursor at the App Menu.

I will try to replicate your issue here. Im not able to work with curl on latest cursor. It always returns an error of port being blockedbut on lower versions it works.

Did not even try yet, basically never opened Cursor yet. :slightly_smiling_face:

We found out that I can “work around” the issue like this:

  • capture the URL
  • pass it to cursor explicitly like this: cursor --open-url "cursor://gitpod.gitpod-flex/connect?endpoint=https%3A%2F%2Fapp.gitpod.io%2Fapi&environmentId=0194d52a-8a74-7246-9406-dba1debb182b&userId=01920f21-0c11-7e20-8b7e-433d56a0bfdb"

Which also led us to discover that it’s cursor <url> which is “broken”.
So as a workaround, what helped me edit my cursor.desktop file, and add the --open-url argument to the Exec line.

I just wonder whether that is the right way to do it? If yes, it would be a quick fix I guess. :slightly_smiling_face: