How to Install Cursor on Fedora 44

Install Cursor on Fedora 44 with Anysphere's DNF repository, Cursor Agent CLI, package verification, updates, removal, and fixes.

PublishedAuthorJoshua JamesRead time7 minGuide typeFedora

Cursor on Fedora has two useful Linux entry points: the graphical desktop editor from Anysphere’s RPM repository and the terminal-based Cursor Agent CLI from Cursor’s official per-user installer. To install Cursor on Fedora for desktop work, use DNF so package updates, repository metadata, and removal stay visible to the package manager; add the CLI separately when you want agent or cursor-agent in shell sessions.

Cursor still publishes direct RPM and AppImage downloads on the official Cursor download page. For routine Fedora Workstation installs, the repository-backed cursor package is easier to update and remove than a temporary local RPM. For terminal use, the Cursor Agent installer creates the agent and cursor-agent commands under your home directory; the desktop RPM does not install standalone CLI commands in /usr/bin.

Install Cursor on Fedora

Choose Cursor Desktop or Cursor Agent CLI

Use the desktop package when you want Cursor as a graphical code editor. Use Cursor Agent when you want a terminal agent for shell sessions, scripted prompts, or remote workflows. The two installs do not replace each other.

Cursor surfaceInstallsUpdate ownerBest fit
Cursor desktop appDNF package named cursor with /usr/bin/cursorDNF-managed updates from downloads.cursor.com/yumrepoGraphical IDE sessions, project folders, extensions, and desktop launcher integration
Cursor Agent CLIPer-user agent and cursor-agent symlinks under ~/.local/binagent updateTerminal-first agent sessions, read-only questions, scripted prompts, and remote shell workflows

The desktop RPM contains internal agent-related extension resources for the IDE, but it does not expose agent or cursor-agent as standalone shell commands. Install Cursor Agent CLI separately when your workflow needs the terminal agent.

Refresh Fedora Packages

Refresh Fedora packages before adding the Cursor repository so DNF starts from current system and metadata state:

sudo dnf upgrade --refresh

These commands use sudo for system package changes. If your account cannot run administrative commands, follow the guide to add a user to sudoers on Fedora before continuing.

Add the Cursor DNF Repository

Create a DNF repository file for Cursor’s official RPM repository. The same source is used by Cursor’s RPM packages for package-managed updates:

printf '%s\n' \
  '[cursor]' \
  'name=Cursor' \
  'baseurl=https://downloads.cursor.com/yumrepo' \
  'enabled=1' \
  'gpgcheck=1' \
  'gpgkey=https://downloads.cursor.com/keys/anysphere.asc' \
  'repo_gpgcheck=1' | sudo tee /etc/yum.repos.d/cursor.repo > /dev/null

The repository uses repo_gpgcheck=1 for signed repository metadata and gpgcheck=1 for RPM package verification.

Import Cursor Repository Metadata with DNF

Build the Cursor repository cache once. DNF reads repomd.xml, imports Anysphere’s metadata-signing key from the configured gpgkey= URL, and stores the repository metadata in the system cache:

sudo dnf -y makecache --repo cursor

Relevant first-run output includes the Anysphere key fingerprint:

Importing OpenPGP key 0x62E492D6:
 UserID     : "Anysphere Inc <security@anysphere.co>"
 Fingerprint: 380FF4BCDC34A4BD92A3565342A1772E62E492D6
 From       : https://downloads.cursor.com/keys/anysphere.asc
The key was successfully imported.
Metadata cache created.

Confirm DNF sees the Cursor repository and the current package for your Fedora architecture:

dnf repo list --enabled | grep -E '^cursor[[:space:]]'
sudo dnf repoquery --available --latest-limit=1 --arch="$(rpm -E '%{_arch}')" --queryformat '%{name} %{evr} %{arch} %{repoid}\n' cursor

Example output from Fedora 44 x86_64 shows the package coming from the Cursor repository:

cursor                Cursor
cursor 3.5.33-1779434195.el8 x86_64 cursor

Install Cursor with DNF

Install the Cursor desktop package from the enabled repository:

sudo dnf install cursor

DNF may show the same Anysphere key again during installation. That prompt belongs to RPM package verification, while the earlier makecache step handled repository metadata verification.

Verify Cursor Installation

Check the installed package, command path, and Cursor version:

rpm -q cursor --qf '%{NAME} %{VERSION}-%{RELEASE} %{ARCH}\n'
command -v cursor
cursor --version

Example output from a validated Fedora 44 x86_64 install:

cursor 3.5.33-1779434195.el8 x86_64
/usr/bin/cursor
3.5.33
aac81804b986d739acab348ed96b8bea6e83cc50
x64

Confirm the RPM installed the command wrapper, desktop launcher, and main application binary:

rpm -ql cursor | grep -E '^/usr/(bin/cursor|share/applications/cursor\.desktop|share/cursor/cursor)$'
/usr/bin/cursor
/usr/share/applications/cursor.desktop
/usr/share/cursor/cursor

Install Cursor Agent CLI

The Cursor Agent CLI is separate from the desktop RPM package. Cursor’s official installer downloads the current agent bundle, installs it under ~/.local/share/cursor-agent/versions/, and creates agent plus cursor-agent symlinks under ~/.local/bin.

Install curl if you skipped the desktop repository prerequisites or are using a minimal Fedora install:

sudo dnf install curl

The curl command downloads the installer over HTTPS. For broader download examples, see the curl command guide.

Run the official Cursor Agent installer as your normal user, not with sudo:

curl -fsS https://cursor.com/install | bash

A successful run installs a versioned agent bundle under ~/.local/share/cursor-agent/versions/, then creates the agent and cursor-agent symlinks in ~/.local/bin. The installer also prints shell-specific PATH commands when the current session cannot already find that directory.

Add Cursor Agent CLI to Your PATH

The installer creates symlinks in ~/.local/bin. Refresh the current terminal first when agent is not found immediately after installation:

export PATH="$HOME/.local/bin:$PATH"

For Bash, add the same PATH entry to ~/.bashrc so future terminals can find the agent command:

touch "$HOME/.bashrc"
grep -qxF 'export PATH="$HOME/.local/bin:$PATH"' "$HOME/.bashrc" || printf '%s\n' 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc"
export PATH="$HOME/.local/bin:$PATH"

Verify Cursor Agent CLI

Confirm both command names resolve from your shell:

command -v agent
command -v cursor-agent

Both paths should point into $HOME/.local/bin. Check the installed agent version next:

agent --version
2026.05.24-dda726e

A new unauthenticated install reports its login state with:

agent status
Not logged in

Launch Cursor on Fedora

The desktop package and Cursor Agent CLI launch through different commands. Use cursor for the graphical IDE, and use agent for terminal-based agent sessions.

Launch Cursor Desktop from Terminal

Start the graphical Cursor desktop app from a Fedora session with:

cursor

Open a project directory directly by passing its path to the launcher:

cursor ~/projects/example-app

Run Cursor as your normal desktop user. If a project needs privileged commands, open Cursor normally and run only those specific terminal commands with sudo.

Launch Cursor Desktop from Activities

Fedora Workstation registers Cursor as a normal desktop application. Open Activities, search for Cursor, and select the launcher.

Start Cursor Agent CLI from Terminal

The terminal agent uses the agent command created by the Cursor Agent installer. Display the help text before starting an interactive session:

agent --help

Start an interactive agent session in the current directory with:

agent

Cursor Agent supports modes such as ask and plan for read-only work. After authentication, a read-only question can run from a project directory with:

agent --print --mode ask "Summarize this project layout"

Use agent login to authenticate, agent logout to clear stored authentication, and the Cursor documentation for account and agent behavior that depends on your plan or workspace policy.

Set Up Project Tools for Cursor Workflows

Cursor desktop and Cursor Agent can open folders immediately, but real projects still need local tools. Install Git on Fedora before cloning repositories, and install Node.js on Fedora for JavaScript or TypeScript projects.

For broader project tooling, Fedora still ships DNF groups. Use the DNF5 group subcommand, not old one-word groupinstall examples. The general development group installs common workflow tools such as patch utilities, Subversion, Doxygen, SystemTap, and related dependencies:

sudo dnf group install development-tools

For C or C++ projects that need a compiler, debugger, headers, and build utilities, use Fedora’s C development group instead:

sudo dnf group install c-development

The DNF5 group commands guide for Fedora covers group IDs, hidden groups, transaction previews, updates, and removals when you need more control than a single project-tooling install.

Update Cursor on Fedora

Update Cursor Desktop with DNF

DNF owns Cursor desktop updates as long as /etc/yum.repos.d/cursor.repo remains enabled. Refresh package metadata, then upgrade the package:

sudo dnf upgrade --refresh cursor

If Cursor announces a newer desktop release before DNF sees it, check the repository candidate first:

sudo dnf repoquery --available --latest-limit=1 --arch="$(rpm -E '%{_arch}')" --queryformat '%{name} %{evr} %{arch} %{repoid}\n' cursor

Wait until the repository shows the newer build before troubleshooting DNF. The Cursor changelog and RPM repository can update at slightly different times.

Update Cursor Agent CLI

The per-user agent install is not updated by DNF. Use the agent updater from the same user account that installed it:

agent update

Current no-op output looks like:

Checking for updates...
Already up to date

Remove Cursor from Fedora

Remove the Cursor Package

Preview the removal transaction before removing the desktop app:

sudo dnf remove --assumeno cursor

A normal Cursor desktop removal removes the cursor package only. After reviewing the transaction, remove it with:

sudo dnf remove cursor

Remove the Cursor Repository

Remove the Cursor repository file if you do not plan to reinstall the package from DNF:

sudo rm -f /etc/yum.repos.d/cursor.repo
sudo dnf clean metadata
dnf repo list --enabled | grep -E '^cursor[[:space:]]' || echo 'Cursor repository is not enabled'
Cursor repository is not enabled

Remove Cursor Agent CLI

If you authenticated the agent, sign out before deleting the local command files:

if command -v agent >/dev/null 2>&1; then
  agent logout
fi

Remove Cursor-owned agent symlinks and the versioned install directory from your user account:

for link in "$HOME/.local/bin/agent" "$HOME/.local/bin/cursor-agent"; do
  if [ -L "$link" ]; then
    target="$(readlink "$link")"
    case "$target" in
      "$HOME"/.local/share/cursor-agent/versions/*/cursor-agent)
        rm -f "$link"
        ;;
      *)
        printf 'Keeping non-Cursor symlink: %s -> %s\n' "$link" "$target" >&2
        ;;
    esac
  elif [ -e "$link" ]; then
    printf 'Keeping non-Cursor file: %s\n' "$link" >&2
  fi
done

rm -rf "$HOME/.local/share/cursor-agent"
hash -r
command -v agent || echo "agent command removed"
agent command removed

Remove Cursor User Data

Package removal leaves per-user settings, caches, remote-server state, and optional terminal-agent files in your home directory. Print common Cursor paths before deleting anything:

for path in \
  "$HOME/.config/Cursor" \
  "$HOME/.cache/Cursor" \
  "$HOME/.cursor" \
  "$HOME/.cursor-server" \
  "$HOME/.local/share/cursor-agent"
do
  if [ -e "$path" ]; then
    printf '%s\n' "$path"
  fi
done

The next command permanently deletes Cursor settings, caches, and remote-server data for your user account. Back up anything you want to keep before running it.

rm -rf "$HOME/.config/Cursor" "$HOME/.cache/Cursor" "$HOME/.cursor" "$HOME/.cursor-server" "$HOME/.local/share/cursor-agent"

Troubleshoot Cursor Installation on Fedora

DNF Cannot Find the cursor Package

If sudo dnf install cursor fails with No match for argument: cursor, the Cursor repository is missing, disabled, or not refreshed. Recreate /etc/yum.repos.d/cursor.repo, then rebuild the repository cache:

sudo dnf -y makecache --repo cursor
dnf repo list --enabled | grep -E '^cursor[[:space:]]'

A working repository file points to https://downloads.cursor.com/yumrepo and keeps repo_gpgcheck=1. The DNF5 install examples for Fedora explain package-manager behavior when you need broader DNF context.

Cursor Repository Key Prompt Repeats

If DNF repeatedly prompts for Anysphere’s key or reports a repository metadata signature error, refresh the Cursor repository cache as root so DNF can store the metadata key in its system cache:

sudo dnf --refresh -y makecache --repo cursor
sudo dnf repoquery --available --latest-limit=1 --arch="$(rpm -E '%{_arch}')" --queryformat '%{name} %{evr} %{arch} %{repoid}\n' cursor

The expected fingerprint is 380FF4BCDC34A4BD92A3565342A1772E62E492D6. Do not disable repo_gpgcheck to bypass the prompt.

Cursor Agent Command Is Not Found

If agent or cursor-agent is not found after the installer succeeds, check whether ~/.local/bin is active in the current shell:

printf '%s\n' "$PATH" | tr ':' '\n' | grep -Fx "$HOME/.local/bin"

No output means the directory is missing from the current PATH. Export it for the current terminal, then add the Bash startup line from the PATH section so new terminals can find the agent.

Cursor Agent Reports Not Logged In

agent status returns Not logged in until the CLI has valid Cursor authentication. Use the login command from the same user account that installed the agent:

agent login
agent status

If the host cannot open a browser, run NO_OPEN_BROWSER=1 agent login and follow the terminal instructions. Avoid putting API keys directly in shell history; use a short-lived environment variable only for the command that needs it.

Cursor Does Not Launch from a Root Shell

The cursor wrapper is meant for a normal graphical user session. Open Cursor as your desktop user, then run privileged project commands from the integrated terminal only when the project actually needs them.

Conclusion

Cursor is ready on Fedora when the desktop package resolves through Anysphere’s DNF repository and the optional agent resolves from ~/.local/bin. Keep the desktop app on DNF-managed updates, update the terminal agent with agent update, and remove each surface with the package manager or per-user cleanup path that owns it.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: