Function: claude-code-ide-list-sessions

claude-code-ide-list-sessions is an interactive and natively compiled function defined in claude-code-ide.el.

Signature

(claude-code-ide-list-sessions)

Documentation

List all active Claude Code instances and switch to the selected one.

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide.el
;;;###autoload
(defun claude-code-ide-list-sessions ()
  "List all active Claude Code instances and switch to the selected one."
  (interactive)
  (claude-code-ide--cleanup-dead-sessions)
  (let* ((sessions (sort (claude-code-ide-mcp--active-sessions)
                         (lambda (a b)
                           (> (or (claude-code-ide-mcp-session-last-used a) 0)
                              (or (claude-code-ide-mcp-session-last-used b) 0)))))
         (candidates
          (mapcar (lambda (session)
                    (cons (format "%s — %s (%s)"
                                  (claude-code-ide--session-display-name session)
                                  (abbreviate-file-name
                                   (claude-code-ide-mcp-session-project-dir session))
                                  (if (claude-code-ide-mcp-session-client session)
                                      "connected" "waiting"))
                          session))
                  sessions)))
    (if candidates
        (let* ((choice (completing-read "Switch to Claude Code session: "
                                        candidates nil t))
               (session (cdr (assoc choice candidates))))
          (when session
            (let ((buffer (claude-code-ide-mcp-session-buffer session)))
              (if (and buffer (buffer-live-p buffer))
                  (when-let* ((window (claude-code-ide--display-buffer-in-side-window buffer)))
                    (select-window window))
                (user-error "Buffer for session %s no longer exists" choice)))))
      (claude-code-ide-log "No active Claude Code sessions"))))