Não tenho certeza se você ainda está acompanhando esta pergunta, mas gostaria de ajudar. Já faz algum tempo desde que eu mergulhei nas entranhas do sistema de completação do zsh, então isso será uma boa desculpa.
Por enquanto, usaremos essa resposta como uma ferramenta contínua para fornecer dicas úteis para ajudar você (e eu) a solucionar o problema.
Como você pode ver, o sistema de completação do zsh é muito poderoso. Às vezes, conclui itens que você não deseja concluir. Por exemplo, você quase sempre deseja limitar argumentos ao comando 'cd' para serem diretórios. No entanto, em zsh, esses podem ser diretórios de sistema de arquivos, diretórios nomeados, diretórios em várias variáveis de caminho ou até mesmo diretórios armazenados em variáveis de shell padrão. Então, acho que o primeiro passo é determinar o "contexto" da sua conclusão.
Por favor, digite cd no diretório my_folder acima e digite:
cd p<CTRL-X>h
CTRL-Xh é a combinação de teclas padrão para exibir o contexto atual para conclusão. Por favor, deixe-me saber qual é a saída desta combinação de teclas. Por exemplo, minha saída ficou assim:
tags in context :completion::complete:cd::
local-directories (_alternative _cd (eval))
O item chave a ser observado é "diretórios locais". O que NÃO vemos aqui é um item comumente 'diretório de caminho', que se refere aos diretórios que podem ser encontrados em $ cdpath e possivelmente em outros locais. (Não me lembro de improviso.)
Se você vir itens diferentes de 'diretórios locais', isso será uma dica de onde essa entrada 'proxy' pode estar vindo. Por exemplo, aqui estão os tipos de itens que minha configuração zsh tentará concluir se eu tentar concluir a partir do início da linha de comando sem digitar nada:
commands builtins functions aliases suffix-aliases reserved-words jobs parameters
Você pode, de fato, ver um ou mais desses itens com sua saída CTRL-Xh, ou mesmo itens que eu não listo acima. (Esses são apenas exemplos)
Aqui está uma maneira de você poder ajudar a limitar o zsh a apenas fornecer diretórios locais e diretórios $ cdpath como opções de conclusão:
zstyle ':completion:*:cd:*' tag-order local-directories path-directories
Se você não quiser algum cd mágico moderadamente útil que o zsh ofereça, elimine os 'diretórios de caminho' do final, e acredito que você obterá o comportamento desejado. Você vai querer colocar isso em seu arquivo .zshrc para torná-lo persistente em todas as sessões. Deixe-me saber se isso ajuda.