OK. Then when asking question: (if (and (daemonp) (eq terminal-frame (selected-frame))) try searching for another frame to focus or defer ask-my-question ask-my-question) For frame-list: (defun my-frame-list () (if (daemonp) (filtered-frame-list #'(lambda (f) (not (eq f terminal-frame)))) (frame-list))) Right ?