Sorry to jump back in on this one, but I have been getting it pretty persistently since late last year. My debug output looks almost identical to @SoCuul: ``` % RBENV_DEBUG=1 rbenv init - zsh +(/opt/homebrew/bin/rbenv:23): '[' -z '' ']' +(/opt/homebrew/bin/rbenv:24): RBENV_ROOT=/Users/adavis/.rbenv +(/opt/homebrew/bin/rbenv:28): export RBENV_ROOT +(/opt/homebrew/bin/rbenv:30): '[' -z '' ']' +(/opt/homebrew/bin/rbenv:31): RBENV_DIR=/Users/adavis +(/opt/homebrew/bin/rbenv:38): export RBENV_DIR +(/opt/homebrew/bin/rbenv:40): '[' -n '' ']' +(/opt/homebrew/bin/rbenv:40): export RBENV_ORIG_PATH=/opt/homebrew/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:/Users/adavis/go/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/adavis/bin:/Applications/RubyMine.app/Contents/MacOS:/Users/adavis/.local/bin +(/opt/homebrew/bin/rbenv:40): RBENV_ORIG_PATH=/opt/homebrew/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:/Users/adavis/go/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/adavis/bin:/Applications/RubyMine.app/Contents/MacOS:/Users/adavis/.local/bin +(/opt/homebrew/bin/rbenv:64): shopt -s nullglob +(/opt/homebrew/bin/rbenv:67): rbenv_bin=/opt/homebrew/bin/rbenv ++(/opt/homebrew/bin/rbenv:68): canonicalize /opt/homebrew/bin/rbenv ++(/opt/homebrew/bin/rbenv:43): canonicalize(): local readlink resolved_path +++(/opt/homebrew/bin/rbenv:44): canonicalize(): type -P greadlink ++(/opt/homebrew/bin/rbenv:44): canonicalize(): readlink= +++(/opt/homebrew/bin/rbenv:44): canonicalize(): type -P readlink ++(/opt/homebrew/bin/rbenv:44): canonicalize(): readlink=/usr/bin/readlink +++(/opt/homebrew/bin/rbenv:46): canonicalize(): /usr/bin/readlink -f /opt/homebrew/bin/rbenv ++(/opt/homebrew/bin/rbenv:46): canonicalize(): resolved_path=/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv ++(/opt/homebrew/bin/rbenv:47): canonicalize(): printf '%s\n' /opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv ++(/opt/homebrew/bin/rbenv:48): canonicalize(): return 0 +(/opt/homebrew/bin/rbenv:68): libexec_dir=/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv +(/opt/homebrew/bin/rbenv:69): libexec_dir=/opt/homebrew/Cellar/rbenv/1.3.0/libexec +(/opt/homebrew/bin/rbenv:78): export PATH=/opt/homebrew/Cellar/rbenv/1.3.0/libexec:/opt/homebrew/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:/Users/adavis/go/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/adavis/bin:/Applications/RubyMine.app/Contents/MacOS:/Users/adavis/.local/bin +(/opt/homebrew/bin/rbenv:78): PATH=/opt/homebrew/Cellar/rbenv/1.3.0/libexec:/opt/homebrew/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:/Users/adavis/go/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/adavis/bin:/Applications/RubyMine.app/Contents/MacOS:/Users/adavis/.local/bin +(/opt/homebrew/bin/rbenv:80): RBENV_HOOK_PATH=:/Users/adavis/.rbenv/rbenv.d +(/opt/homebrew/bin/rbenv:81): '[' '!' /opt/homebrew/Cellar/rbenv/1.3.0/rbenv.d -ef /Users/adavis/.rbenv/rbenv.d ']' +(/opt/homebrew/bin/rbenv:83): RBENV_HOOK_PATH=:/Users/adavis/.rbenv/rbenv.d:/opt/homebrew/Cellar/rbenv/1.3.0/rbenv.d +(/opt/homebrew/bin/rbenv:85): RBENV_HOOK_PATH=:/Users/adavis/.rbenv/rbenv.d:/opt/homebrew/Cellar/rbenv/1.3.0/rbenv.d:/opt/homebrew/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks +(/opt/homebrew/bin/rbenv:89): RBENV_HOOK_PATH=/Users/adavis/.rbenv/rbenv.d:/opt/homebrew/Cellar/rbenv/1.3.0/rbenv.d:/opt/homebrew/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks +(/opt/homebrew/bin/rbenv:90): export RBENV_HOOK_PATH +(/opt/homebrew/bin/rbenv:92): shopt -u nullglob +(/opt/homebrew/bin/rbenv:95): command=init +(/opt/homebrew/bin/rbenv:96): case "$command" in ++(/opt/homebrew/bin/rbenv:109): type -P rbenv-init +(/opt/homebrew/bin/rbenv:109): command_path=/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init +(/opt/homebrew/bin/rbenv:110): '[' -z /opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init ']' +(/opt/homebrew/bin/rbenv:118): shift 1 +(/opt/homebrew/bin/rbenv:119): '[' - = --help ']' +(/opt/homebrew/bin/rbenv:126): exec /opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init - zsh +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:22): '[' - = --complete ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:32): print= +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:33): no_rehash= +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:34): shells=() +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:35): '[' 2 -gt 0 ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:36): case "$1" in +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:38): print=1 +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:47): shift +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:35): '[' 1 -gt 0 ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:36): case "$1" in +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:44): shells+=("$1") +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:47): shift +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:35): '[' 0 -gt 0 ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:50): '[' 1 -eq 0 ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:59): root=/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:60): root=/opt/homebrew/Cellar/rbenv/1.3.0/libexec +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:61): root=/opt/homebrew/Cellar/rbenv/1.3.0 +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:63): rbenv_in_path=true +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:64): '[' -n /opt/homebrew/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:/Users/adavis/go/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/adavis/bin:/Applications/RubyMine.app/Contents/MacOS:/Users/adavis/.local/bin ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:65): PATH=/opt/homebrew/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:/Users/adavis/go/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/adavis/bin:/Applications/RubyMine.app/Contents/MacOS:/Users/adavis/.local/bin +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:65): type -P rbenv +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:68): '[' -z 1 ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:147): mkdir -p /Users/adavis/.rbenv/shims /Users/adavis/.rbenv/versions +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:149): shell=zsh +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:150): case "$shell" in +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:158): '[' -n true ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:160): printf 'export PATH="%s/shims:${PATH}"\n' /Users/adavis/.rbenv export PATH="/Users/adavis/.rbenv/shims:${PATH}" +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:161): printf 'export RBENV_SHELL=%s\n' zsh export RBENV_SHELL=zsh +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:163): completion=/opt/homebrew/Cellar/rbenv/1.3.0/completions/rbenv.zsh +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:164): '[' -r /opt/homebrew/Cellar/rbenv/1.3.0/completions/rbenv.zsh ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:170): '[' -z '' ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:171): echo 'command rbenv rehash 2>/dev/null' command rbenv rehash 2>/dev/null +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:174): IFS=' ' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:174): read -d '' -r -a commands ++(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-init:174): rbenv-commands --sh +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-commands:15): '[' --sh = --complete ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-commands:21): '[' --sh = --sh ']' +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-commands:22): sh=1 +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-commands:23): shift +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-commands:29): IFS=: +(/opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv-commands:29): read -d '' -r -a paths ``` HANGS HERE The above command to list out the number of paths hangs for me as well. Back to your first set of questions in this issue: 1. Yes, near as I can tell, this is happening every time 2. The bare, non-eval command hangs as does the non-eval with the --no-rehash option 3. I moved .zshrc and .zprofile to .bak and the following completes without hanging: ``` adavis@AndyDavisMacBookPro-3 ~ % /opt/homebrew/Cellar/rbenv/1.3.0/libexec/rbenv init - zsh export PATH="/opt/homebrew/Cellar/rbenv/1.3.0/bin:${PATH}" export PATH="/Users/adavis/.rbenv/shims:${PATH}" export RBENV_SHELL=zsh command rbenv rehash 2>/dev/null rbenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(rbenv "sh-$command" "$@")";; *) command rbenv "$command" "$@";; esac } adavis@AndyDavisMacBookPro-3 ~ % ``` I'll try digging in and see if there's something specific causing issues. I was running OMZ, but I thought I had that disabled and was still hanging. _Originally posted by @BiggerNoise in https://github.com/rbenv/rbenv/issues/1593#issuecomment-2569402956_