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.

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