Attached a better patch. I need a little help, though. The following setting does not filter as intended, meaning I see the dired buffer for the current project and I also see the buffers `mu-project-buffer-p' should ignore: (defun mu-project-buffer-p (buffer) "Check if BUFFER is NOT a member of `mu-ignored-buffers'." (not (seq-contains-p mu-ignored-buffers (buffer-name buffer) #'string-match-p))) (setq-default project-switch-to-buffer-conditions '(mu-project-buffer-p (not (derived-mode . comint-mode)))) However, this correctly hides the buffers specified in mu-ignored-buffers: (setq-default project-switch-to-buffer-conditions '(mu-project-buffer-p) -- Manuel Uberti www.manueluberti.eu