Cursor terminal is unusable on MacOS when ~/.zshrc relies on ~/.zprofile having already been sourced

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I just updated cursor and the terminal no longer works unless I manually source ~/.zprofile:

% which brew
brew not found
% source ~/.zshrc
rbenv:11: command not found: rbenv
pyenv:8: command not found: pyenv
% echo $PATH
/Users/jason/.codeium/windsurf/bin:/Users/jason/.local/bin:/opt/homebrew/Cellar/texinfo/7.1/bin:/Users/jason/perl5/bin:/Users/jason/.opam/coq-autoformalization/bin:/Users/jason/.codeium/windsurf/bin:/Users/jason/.local/bin:/opt/homebrew/Cellar/texinfo/7.1/bin:/Users/jason/perl5/bin:/Users/jason/.opam/coq-autoformalization/bin:/Users/jason/miniforge3/bin:/Users/jason/Documents/GitHub/autoformalization/.venv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
% echo $SHELL
/bin/zsh
% zsh
/Users/jason/.zshrc:66: command not found: rbenv
/Users/jason/.zshrc:102: command not found: pyenv

By contrast, working in Mac Terminal, I see:

% which brew
/opt/homebrew/bin/brew
% echo $SHELL
/bin/zsh
% source ~/.zshrc
% echo $PATH
/Users/jason/.codeium/windsurf/bin:/Users/jason/.local/bin:/Users/jason/.pyenv/shims:/Users/jason/.rbenv/shims:/opt/homebrew/Cellar/texinfo/7.1/bin:/Users/jason/perl5/bin:/Users/jason/.opam/coq-autoformalization/bin:/Users/jason/.codeium/windsurf/bin:/Users/jason/.local/bin:/Users/jason/.rbenv/shims:/opt/homebrew/Cellar/texinfo/7.1/bin:/Users/jason/perl5/bin:/Users/jason/.opam/coq-autoformalization/bin:/Users/jason/.codeium/windsurf/bin:/Users/jason/.local/bin:/Users/jason/.rbenv/shims:/opt/homebrew/Cellar/texinfo/7.1/bin:/Users/jason/perl5/bin:/Users/jason/.opam/coq-autoformalization/bin:/Users/jason/miniforge3/bin:/Users/jason/miniforge3/condabin:/Users/jason/.elan/bin:/Users/jason/.rbenv/shims:/opt/local/bin:/opt/local/sbin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/TeX/texbin:/Applications/Wireshark.app/Contents/MacOS:/Users/jason/.cargo/bin:/Users/jason/.orbstack/bin

Steps to Reproduce

Have a ~/.zshrc that relies on ~/.zprofile being sourced.

Expected Behavior

Should work the same as Mac Terminal

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.75
VSCode Version: 1.99.3
Commit: 9e7a27b76730ca7fe4aecaeafc58bac1e2c82120
Date: 2025-11-12T17:34:21.472Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.1.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. This looks like an issue with how Cursor launches terminal shells on macOS. Zsh as a login shell should read ~/.zprofile before ~/.zshrc, but Cursor’s terminal isn’t doing that.

Temporary workaround: add source ~/.zprofile at the top of your ~/.zshrc.

I’ll pass this to the team. Please also share:

  • Do you have any custom terminal.integrated.shellArgs.osx in your integrated terminal settings Cmd+,?
  • Does this affect all terminals or only agent‑spawned terminals?

This will help the team find the root cause.