João Távora writes: > So maybe one should disable it by default. How does one disable it? I > have trouble understanding from tramp-use-ssh-controlmaster-options and > tramp-ssh-controlmaster-options. In the meantime I have finally, with great Docker-relearning hardship, setup a reproduction environment. You'll see it follows exactly Thomas's reproduction recipe almost until the end. It sets up a server on port 2022 I attach the dockerfile. $ docker build -t sshubuntu . $ docker run -d -p 2022:22 sshubuntu $ /path/to/emacs -Q /ssh:sshuser@localhost#2022:/home/sshuser/yacy_search_server/source/net/yacy/yacy.java -f eglot Now the odd bit. Sometimes this works, sometimes it doesn't!!! Sometimes it finds '~/bin/jtdls' in the remote's PATH and sometimes it doesn't! I have no idea why. Maybe someone can help me debug: how is PATH to work? In the server I can see that on simple ssh login, ~/bin/jdtls _is_ found. Anyway, when I _do_ manage to get it to find sshuser's '~/bin/jtdls': * I do experience the hang regularly, but not always at the same point in time. * I don't know how to obtain the pretty Backtrace that you Michael got. Michael how do you get that?? Maybe you're using some tramp flag, because debug-on-error and debug-on-quit don't work. * If I set (setq tramp-ssh-controlmaster-options nil tramp-use-ssh-controlmaster-options nil) I _no longer_ experience the hang. This is after visiting 5 or 6 files, trying some completion, M-. xref-find-definitions, etc. Michael can you confirm that these are per-buffer values? Would it make sense for Eglot to set them like so in its minor mode hook? João