To reproduce: $ emacs -Q --daemon $ emacsclient foo.txt M-x save-buffers-kill-emacs => This Emacs session has clients; exit anyway? I think that's unnecessary. Since we're in the last (only) client, we can't accidentally kill other clients that we don't see right now (e.g. ones in an SSH connection); they don't exist! Couldn't we just proceed ahead without the prompt? On the other hand, I think it *would* be useful to prompt if you're in the last client, but there are other non-client frames. This can happen if you start the main Emacs process without --daemon or if you use --no-wait. For example: $ emacs -Q --daemon $ emacsclient foo.txt $ emacsclient --no-wait -c bar.txt ;; From the first client: M-x save-buffers-kill-emacs => This Emacs session has clients; exit anyway? This is ok, except the prompt could be clearer. The real issue is that the session has non-client frames that would get killed. Attached is a patch to do this.