diff --git a/profile/default/envrcd.d/50-complete b/profile/default/envrcd.d/50-complete
index d344143c7e8cf234023f540205b973db676396c7..685afd430edea6b166773a525c4ecb23ee0c0b66 100644
--- a/profile/default/envrcd.d/50-complete
+++ b/profile/default/envrcd.d/50-complete
@@ -2,3 +2,14 @@
 
 # load system bash-completion
 source_if_exists /etc/profile.d/bash_completion.sh
+
+# bash completions for local commands in ~/.local/bin
+LOCAL_COMMANDS="fzf tldr zellij uv xh sd delta dust pdu dog hyperfine btm broot lsd eza yazi"
+for LOCAL_COMMAND in ${LOCAL_COMMANDS}; do
+    #if [ -x "$(command -v ${LOCAL_COMMAND})" ]; then  # POSIX compatible
+    if hash ${LOCAL_COMMAND} 2>/dev/null; then  # bash builtin
+        if [ -x ${HOME}/.local/bin/${LOCAL_COMMAND} ]; then
+            source_if_exists "${HOME}/.local/share/bash-completion/${LOCAL_COMMAND}"
+        fi
+    fi
+done
diff --git a/profile/rda/envrcd.d/50-complete b/profile/rda/envrcd.d/50-complete
index 14277b5b8652a440a13970945006f197230e7038..0d71607c7ac9f5588436d6b3fea51917c1a25b1e 100644
--- a/profile/rda/envrcd.d/50-complete
+++ b/profile/rda/envrcd.d/50-complete
@@ -25,12 +25,12 @@ if [ -f ~/git/gitlab/py-ethz/bin/ethz-completion.bash ] && ! shopt -oq posix; th
 fi
 
 # bash completions for local commands in ~/.local/bin
-LOCAL_COMMANDS="fzf tldr zellij uv xh sd delta dust pdu dog hyperfine btm broot lsd eza"
+LOCAL_COMMANDS="fzf tldr zellij uv xh sd delta dust pdu dog hyperfine btm broot lsd eza yazi"
 for LOCAL_COMMAND in ${LOCAL_COMMANDS}; do
     #if [ -x "$(command -v ${LOCAL_COMMAND})" ]; then  # POSIX compatible
     if hash ${LOCAL_COMMAND} 2>/dev/null; then  # bash builtin
-        if [ -x ~/.local/bin/${LOCAL_COMMAND} ]; then
-            source_if_exists "${ENVRCD_PATH}/profile/_assets/completions/${LOCAL_COMMAND}_bash"
+        if [ -x ${HOME}/.local/bin/${LOCAL_COMMAND} ]; then
+            source_if_exists "${HOME}/.local/share/bash-completion/${LOCAL_COMMAND}"
         fi
     fi
 done