1diff --git a/autoswitch_virtualenv.plugin.zsh b/autoswitch_virtualenv.plugin.zsh
2index c5010a691ee9f8ea09554642e852da4f94e9405c..e6db48f38a72a6b93f75d9c3a72efe88d2278c8e 100644
3--- a/autoswitch_virtualenv.plugin.zsh
4+++ b/autoswitch_virtualenv.plugin.zsh
5@@ -210,9 +210,9 @@ function check_venv()
6 return
7 fi
8 elif [[ "$venv_path" == *"/uv.lock" ]]; then
9- if type "uv" > /dev/null && _activate_uv; then
10- return
11- fi
12+ local uv_venv_path="$(dirname "$venv_path")/.venv"
13+ _maybeworkon "$uv_venv_path" "uv"
14+ return
15 # standard use case: $venv_path is a file containing a virtualenv name
16 elif [[ -f "$venv_path" ]]; then
17 local switch_to="$(<"$venv_path")"