Function: claude-code-ide--read-instance-name

claude-code-ide--read-instance-name is a natively compiled function defined in claude-code-ide.el.

Signature

(claude-code-ide--read-instance-name PROJECT-DIR &optional PROMPT EXCLUDE-SESSION)

Documentation

Read and validate an instance name for PROJECT-DIR.

Empty input auto-numbers (nil = the plain unnamed slot). PROMPT overrides the default prompt; EXCLUDE-SESSION is ignored in collision checks (used while renaming). Returns the name string or nil.

Source Code

;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide.el
(defun claude-code-ide--read-instance-name (project-dir &optional prompt exclude-session)
  "Read and validate an instance name for PROJECT-DIR.
Empty input auto-numbers (nil = the plain unnamed slot).  PROMPT
overrides the default prompt; EXCLUDE-SESSION is ignored in collision
checks (used while renaming).  Returns the name string or nil."
  (let (name done)
    (while (not done)
      (setq name (string-trim
                  (read-string (or prompt "Instance name (empty for auto): "))))
      (cond
       ((string-empty-p name)
        (setq name (claude-code-ide--auto-instance-name project-dir exclude-session)
              done t))
       ((string-match-p "\\`[0-9]+\\'" name)
        (message "Numeric names are reserved for auto-numbering")
        (sit-for 1))
       ((string-match-p "[][*[:cntrl:]]" name)
        (message "Name cannot contain [, ], or *")
        (sit-for 1))
       ((cl-some (lambda (session)
                   (and (not (eq session exclude-session))
                        (equal name (claude-code-ide-mcp-session-instance-name session))))
                 (claude-code-ide-mcp--sessions-for-project project-dir))
        (message "Name already used in this project: %s" name)
        (sit-for 1))
       (t (setq done t))))
    name))