       (let ((straight--default-directory nil))
         (recursive-edit)))
      ("g" "Magit and open recursive edit"
-      (magit-status-internal
-       (or straight--default-directory default-directory))
-      (let ((straight--default-directory nil))
-        (recursive-edit)))))
+      (when (straight--magit-status
+             (or straight--default-directory default-directory))
+        (let ((straight--default-directory nil))
+          (recursive-edit))))))
 
 (defun straight-vc-git--encode-url (repo host &optional protocol)
   "Generate a URL from a REPO depending on the value of HOST and PROTOCOL.


;;;;;; Utility functions

(defun straight-vc-git--popup-raw (prompt actions)
  "Same as `straight-popup-raw', but specialized for vc-git methods.
Two additional actions are inserted at the end of the list: \"e\"

    '(("e" "Dired and open recursive edit"
       (lambda ()
         (dired (or straight--default-directory default-directory))
         (let ((straight--default-directory nil))
           (recursive-edit))))
      ("g" "Magit and open recursive edit"
       (lambda ()
         (when (straight--magit-status
                (or straight--default-directory default-directory))
           (let ((straight--default-directory nil))
             (recursive-edit)))))))))

(defmacro straight-vc-git--popup (prompt &rest actions)
  "Same as `straight-popup', but specialized for vc-git methods.
