Stephan Schielke <401815+stephanschielke@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date
Message
fix(poetry-env): handle Poetry returning "." for venv path (#13183)
Diff
1diff --git a/plugins/poetry-env/poetry-env.plugin.zsh b/plugins/poetry-env/poetry-env.plugin.zsh
2index d2d571dbeeaf8e20b1cd7696cd6606938ca2f077..5f6fd45113529f461289609149419798e7ade6d9 100644
3--- a/plugins/poetry-env/poetry-env.plugin.zsh
4+++ b/plugins/poetry-env/poetry-env.plugin.zsh
5@@ -15,7 +15,12 @@ _togglePoetryShell() {
6 # Activate the environment if in a Poetry directory and no environment is currently active
7 if [[ $in_poetry_dir -eq 1 ]] && [[ $poetry_active -ne 1 ]]; then
8 venv_dir=$(poetry env info --path 2>/dev/null)
9- if [[ -n "$venv_dir" ]]; then
10+ # Handle case where poetry returns "." for in-project virtual environments
11+ if [[ "$venv_dir" == "." ]]; then
12+ venv_dir="$PWD/.venv"
13+ fi
14+ # Only proceed if venv_dir is set and the activate script exists
15+ if [[ -n "$venv_dir" && -f "${venv_dir}/bin/activate" ]]; then
16 export poetry_active=1
17 export poetry_dir="$PWD"
18 source "${venv_dir}/bin/activate"