Thanks! Precise as always. I'm not sure if it's the best way to do so, but it worked for me by using a lambda:
(setq citar-file-open-function '(lambda (file) (async-shell-command (format-message "sioyek \"%s\"" file)))) Moreover, since I don't really care about the terminal output of the PDF viewer, I followed an Emacs SE suggestion (https://emacs.stackexchange.com/a/58341/29817) and made the output buffer not brought up: (add-to-list 'display-buffer-alist '("*Async Shell Command*" display-buffer-no-window (nil))) which, in case I want to inspect it, it's still visitable with the usual C-x b. Thank you! Alessandro