Function: claude-code-ide--resolve-session

claude-code-ide--resolve-session is a natively compiled function defined in claude-code-ide.el.

Signature

(claude-code-ide--resolve-session INTENT &optional PROMPT)

Documentation

Resolve which instance a command targets; nil when the project has none.

Resolution: a prefix argument always asks via PROMPT; a Claude terminal buffer targets itself; a project with a single instance, or a single visible one, is unambiguous. Beyond that, INTENT auto picks the most recently used instance (echoing the choice), while INTENT prompt asks
— guessing is acceptable for sends, not for destructive commands.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide.el
(defun claude-code-ide--resolve-session (intent &optional prompt)
  "Resolve which instance a command targets; nil when the project has none.
Resolution: a prefix argument always asks via PROMPT; a Claude terminal
buffer targets itself; a project with a single instance, or a single
visible one, is unambiguous.  Beyond that, INTENT `auto' picks the most
recently used instance (echoing the choice), while INTENT `prompt' asks
— guessing is acceptable for sends, not for destructive commands."
  (let* ((project-dir (claude-code-ide--get-working-directory))
         (sessions (claude-code-ide-mcp--sessions-for-project project-dir)))
    (cond
     ((and current-prefix-arg sessions)
      (claude-code-ide--read-project-session (or prompt "Claude instance: ")
                                             project-dir))
     (claude-code-ide--session claude-code-ide--session)
     ((null sessions) nil)
     ((null (cdr sessions)) (car sessions))
     (t
      (let ((visible (claude-code-ide--visible-project-sessions project-dir)))
        (cond
         ((and visible (null (cdr visible))) (car visible))
         ((eq intent 'prompt)
          (claude-code-ide--read-project-session (or prompt "Claude instance: ")
                                                 project-dir))
         (t
          (let ((session (claude-code-ide-mcp--mru-session project-dir)))
            (when session
              (message "Claude instance: %s"
                       (claude-code-ide--session-display-name session)))
            session))))))))