diff --git a/guix/ui.scm b/guix/ui.scm
index 041887e7f0c6695dd0b231e0927a528456958a6b..bb811c557d0a739b2e5fd51af94bda9df3a51bff 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -558,13 +558,17 @@ (define (commands)
        (command-files)))
 
 (define (show-guix-help)
+  (define (internal? command)
+    (member command '("substitute-binary" "authenticate")))
+
   (format #t (_ "Usage: guix COMMAND ARGS...
 Run COMMAND with ARGS.\n"))
   (newline)
   (format #t (_ "COMMAND must be one of the sub-commands listed below:\n"))
   (newline)
   ;; TODO: Display a synopsis of each command.
-  (format #t "~{   ~a~%~}" (sort (commands) string<?))
+  (format #t "~{   ~a~%~}" (sort (remove internal? (commands))
+                                 string<?))
   (show-bug-report-information))
 
 (define program-name