Skip to main content

Глобальная настройка Claude Code на Windows Server

Ниже приведена полная и окончательная инструкция по развертыванию Claude Code на Windows Server 2025. Она объединяет весь наш опыт решения проблем с правами доступа (EPERM), путями Git Bash и системными переменными, гарантируя, что авторизация будет доступна всем пользователям системы.


Руководство по глобальной настройке Claude Code (Multi-User)

По умолчанию Claude Code устанавливается в личный профиль пользователя и хранит авторизацию там же. Чтобы сделать программу и аккаунт общими для всех пользователей (например, для администратора и пользователя David), мы переносим исполняемые файлы и конфигурацию в общую системную директорию C:\ProgramData и настраиваем соответствующие права доступа.

Архитектура решения

  1. Исполняемые файлы: Переносятся в C:\ProgramData\npm.

  2. Сессия и авторизация: Переносятся в C:\ProgramData\claude-code.

  3. Связующее звено: Системные переменные PATH, CLAUDE_CONFIG_DIR и CLAUDE_CODE_GIT_BASH_PATH на уровне машины (Machine).


Вариант 1: Автоматическая настройка (Рекомендуется)

Этот .bat файл самостоятельно найдет (или установит) Git, создаст нужные папки, выдаст права и пропишет системные пути. Кодировка исправлена для корректного отображения кириллицы.

  1. Создайте на рабочем столе файл setup_claude_global.bat.

  2. Скопируйте в него код ниже.

  3. Нажмите на файл правой кнопкой мыши и выберите «Запуск от имени администратора».

Фрагмент кода

@echo off
:: Set encoding for correct display of English text
chcp 866 >nul
setlocal enabledelayedexpansion
title Claude Code Global Setup

echo ========================================================
echo   Claude Code: Global Setup (Multi-User)
echo ========================================================

:: 1. Check for administrator rights
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo [ERROR] Run this file AS ADMINISTRATOR.
    pause
    exit /b
)

:: 2. Search for or install Git Bash (FIXED LOGIC)
set "BASH_PATH="

if exist "C:\Program Files\Git\bin\bash.exe" (
    set "BASH_PATH=C:\Program Files\Git\bin\bash.exe"
)

if "!BASH_PATH!"=="" (
    if exist "C:\Program Files (x86)\Git\bin\bash.exe" (
        set "BASH_PATH=C:\Program Files (x86)\Git\bin\bash.exe"
    )
)

if "!BASH_PATH!"=="" (
    echo [STATUS] Git Bash not found. Starting installation via winget...
    winget install --id Git.Git -e --source winget --accept-source-agreements --accept-package-agreements
    set "BASH_PATH=C:\Program Files\Git\bin\bash.exe"
)

echo [STATUS] Git Bash path set to: !BASH_PATH!

:: 3. Configure shared folders
set "NPM_GLOBAL=C:\ProgramData\npm"
set "CLAUDE_CONFIG=C:\ProgramData\claude-code"

if not exist "%NPM_GLOBAL%" mkdir "%NPM_GLOBAL%"
if not exist "%CLAUDE_CONFIG%" mkdir "%CLAUDE_CONFIG%"

:: 4. Configure access permissions (icacls)
echo [STATUS] Setting access permissions for the Users group...
icacls "%NPM_GLOBAL%" /grant Users:(OI)(CI)M /T /C /Q >nul
icacls "%CLAUDE_CONFIG%" /grant Users:(OI)(CI)M /T /C /Q >nul

:: 5. System variables (Machine level)
setx CLAUDE_CONFIG_DIR "%CLAUDE_CONFIG%" /M >nul
setx CLAUDE_CODE_GIT_BASH_PATH "!BASH_PATH!" /M >nul

:: 6. Move NPM and install Claude
call npm config set prefix "%NPM_GLOBAL%" --global >nul
echo [STATUS] Installing Claude Code (please wait)...
call npm install -g @anthropic-ai/claude-code >nul

:: 7. Update system PATH
set "NEW_PATH=%NPM_GLOBAL%"
echo %PATH% | findstr /I /C:"%NEW_PATH%" >nul
if %errorlevel% neq 0 (
    setx /M PATH "%PATH%;%NEW_PATH%" >nul
)

echo.
echo ========================================================
echo   INSTALLATION COMPLETED SUCCESSFULLY!
echo ========================================================
echo Restart the terminal and enter 'claude auth'.
pause

Вариант 2: Ручная настройка (PowerShell)

Если вы хотите выполнить все шаги вручную, откройте PowerShell от имени Администратора:

Шаг 1: Подготовка папок и прав

PowerShell

$dirs = @("C:\ProgramData\npm", "C:\ProgramData\claude-code")
foreach ($dir in $dirs) {
    if (!(Test-Path $dir)) { New-Item -ItemType Directory -Path $dir }
    $acl = Get-Acl $dir
    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Users", "Modify", "ContainerInherit, ObjectInherit", "None", "Allow")
    $acl.AddAccessRule($rule)
    Set-Acl $dir $acl
}

Шаг 2: Настройка системных переменных

PowerShell

[Environment]::SetEnvironmentVariable("CLAUDE_CONFIG_DIR", "C:\ProgramData\claude-code", "Machine")
[Environment]::SetEnvironmentVariable("CLAUDE_CODE_GIT_BASH_PATH", "C:\Program Files\Git\bin\bash.exe", "Machine")

$oldPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
if ($oldPath -notlike "*C:\ProgramData\npm*") {
    [Environment]::SetEnvironmentVariable("Path", "$oldPath;C:\ProgramData\npm", "Machine")
}

Шаг 3: Установка программы

PowerShell

npm config set prefix "C:\ProgramData\npm" --global
npm install -g @anthropic-ai/claude-code

Финальный шаг: Первичная авторизация

Независимо от выбранного метода установки, после его завершения:

  1. Откройте новое окно терминала.

  2. Введите claude auth.

  3. Пройдите процесс авторизации в браузере. Файл сессии сохранится в общую папку.


Инструкция для пользователей (например, David)

Для любого пользователя сервера процесс теперь максимально прост:

  1. Пользователь заходит в свою учетную запись.

  2. Открывает терминал (PowerShell, CMD или терминал в IDE).

  3. Вводит claude.

  4. Программа запускается сразу под вашим аккаунтом.


Руководство по решению проблем (Troubleshooting)

Симптом Причина Решение
Ошибка: Command 'claude' not found у нового пользователя. Windows еще не обновила системный PATH для текущей сессии пользователя. Пользователю нужно выйти из системы (Log off) и зайти снова, либо перезагрузить сервер.
Ошибка: EPERM: operation not permitted при запуске claude. Программа все еще пытается получить доступ к папке AppData администратора. Убедитесь, что шаг с npm config set prefix "C:\ProgramData\npm" --global был выполнен, и переустановите Claude.
Ошибка: Unable to find CLAUDE_CODE_GIT_BASH_PATH. Неверный путь к bash.exe или Git не установлен. Проверьте фактическое расположение файла bash.exe и обновите системную переменную CLAUDE_CODE_GIT_BASH_PATH.
Требует claude auth у второго пользователя. Переменная CLAUDE_CONFIG_DIR установлена как "User", а не "Machine". Запустите PowerShell от администратора и выполните команду из Шага 2 ручной настройки.

Безопасное обновление Claude Code

Поскольку программа теперь находится в общей системной папке, обновлять ее должен только Администратор.

В терминале от имени Администратора введите:

PowerShell

npm install -g @anthropic-ai/claude-code@latest

Ваши ключи авторизации не пострадают, а новые файлы автоматически унаследуют права доступа для всех пользователей.