/** * Which Claude Code binaries a shell would find, and whether the one it runs * can load mods (ADR-404). Mods are on by default from Claude Code 2.1.287; * from 2.1.277 they load with CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1; older * builds predate them. A server-side rollout switch can still hold them off * on any version (reported separately). A stale install earlier on PATH * (a 2.1.107 npm-global beside a current native one, say) silently decides. */ export declare const MODS_DEFAULT_ON = "2.1.287"; export declare const MODS_FIRST = "2.1.277"; export interface ClaudeInstall { path: string; version: string | null; } export type VersionOf = (path: string) => string | null; /** a < b for dotted numeric versions. */ export declare function versionLess(a: string, b: string): boolean; export interface VersionProbe { command: string; args: string[]; windowsVerbatimArguments?: boolean; } /** * #4397: Node refuses to execFile a .cmd/.bat shim on Windows (EINVAL), so the * npm-global `claude.cmd` read as "version unknown". Shims go through cmd.exe * with the path quoted; a path holding cmd metacharacters is not probed at * all (null) rather than risk interpreting it. */ export declare function versionProbe(path: string, platform?: NodeJS.Platform, comspec?: string): VersionProbe | null; /** `claude --version` of one binary, bounded; null when it cannot say. */ export declare const defaultVersionOf: VersionOf; /** Every `claude` on PATH, in PATH order (the first is what runs), plus ~/.local/bin. */ export declare function findClaudeInstalls(env: NodeJS.ProcessEnv, home: string, versionOf?: VersionOf): ClaudeInstall[]; export interface InstallsFinding { status: 'pass' | 'warn'; message: string; fix?: string; } /** The doctor's reading of what `claude` resolves to and what else is installed. */ export declare function judgeInstalls(installs: readonly ClaudeInstall[], enableEnvSet: boolean): InstallsFinding; //# sourceMappingURL=claude-installs.d.ts.map