 
 (define-key shell-header-mode-map (kbd "M-]") 'shell-header-next)
 (define-key shell-header-mode-map (kbd "M-[") 'shell-header-prev)
+
+;;;###autoload
+(defun shell-header--kill-buffer (&optional is-global)
+  (interactive)
+  (when current-prefix-arg (setq is-global t))
+  (mapcar (lambda (x) (kill-buffer x))
+          (shell-header--get-shell-buffer is-global)))
 
 ;;;###autoload
 (defun shell-header-next ()

  :type  'symbol
  :group 'shell-header)

(defun shell-header--get-shell-buffer ()
  (sort
   (remove-if-not
    (lambda (x)

(defun shell-header--header-line-cancel ()
  (setq-local header-line-format nil))

(defun shell-header--switch (direction offset &optional is-global)
  (let* ((misc-list (shell-header--get-shell-buffer is-global))
         (misc-list-len (length misc-list))
         (index (position (current-buffer) misc-list)))
    (if (= misc-list-len 0)
