I’ve got IDO everywhere and FIDO mode enabled. Unfortunately, FIDO hijacks commands such as occur that at best don’t profit from FIDO, or at worst prevent you from doing what you want. Hence I took inspiration from StackOverflow and tweaked the code to disable FIDO temporarily. Enjoy :D

(defun disable-fido-advice (func &rest args)
  "Temporarily disable FIDO and call function FUNC with arguments ARGS."
  (interactive)
  (let ((state fido-mode))
    (unwind-protect
        (progn
          (fido-mode 0)
          (if (called-interactively-p 'any)
              (call-interactively func)
            (apply func args)))
      (fido-mode (if state 1 0)))))

(defun disable-fido (command)
  "Disable FIDO when command COMMAND is called."
  (advice-add command :around #'disable-fido-advice))

;; Commands without FIDO
(disable-fido 'command-here)