Cursor AppImage on Linux ignores virtual environments and uses the wrong Python interpreter

Describe the Bug

On Linux, the Cursor AppImage does not recognize Python virtual environments (.venv) located in the project directory.

Even when launching Cursor from a terminal where the virtual environment is already activated, the integrated terminal inside Cursor ignores it and uses the AppImage’s embedded Python interpreter.

This leads to errors like ModuleNotFoundError: No module named ‘pandas’ even though the package is correctly installed in the project’s .venv.

Steps to Reproduce

Step 1: Create a test Python project

mkdir test-cursor-venv && cd test-cursor-venv
python3 -m venv .venv
source .venv/bin/activate
pip install pandas

Step 2: Launch Cursor AppImage

/path/to/Cursor.AppImage .

Step 3: In Cursor, open the integrated terminal and run:

which python
python -c “import pandas”

Expected Behavior

Cursor should automatically detect a .venv folder in the project root and activate it for the integrated terminal and script execution (as VSCode does). Alternatively, if Cursor is launched from an already activated environment, it should inherit and preserve that environment inside its terminal.

Activating the virtual environment before launching Cursor should be optional. Every Python project should be able to use its isolated dependencies from .venv.

Operating System

Linux

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.2.1
VSCode Version: 1.99.3
Commit: 031e7e0ff1e2eda9c1a0f5df67d44053b059c5d0
Date: 2025-07-03T06:13:13.763Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Linux x64 6.11.0-28-generic

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, I had the same issue where running python3 would open Cursor instead. It turned out to be related to using zsh in the Cursor terminal somehow. When I switched to bash, the problem was resolved. You might want to try switching to bash as well

1 Like

Thanks! It worked!
Omg, I never would’ve thought that zsh could cause that error, but switching to bash solved it. Kind of sad to give up my preferred terminal setup, but hey — it works for now.

1 Like

you can keep zsh as your shell outside of cursor and tell cursor to use bash:

  1. Press Ctrl ⇧ P (Cmd ⇧ P on macOS).
  2. Type “Terminal: Select Default Profile” → press Enter.
  3. Pick bash → “Set as default”.
  4. Close existing terminals and open a new one (`Ctrl ⇧ ``)