Przejdź do głównej zawartości

Konfiguracja i ustawienia

Naucz się konfigurować Claude Code do swojego workflow, od zarządzania uprawnieniami i uwierzytelnianiem po ustawianie konfiguracji specyficznych dla projektu. Ten przewodnik obejmuje zarówno preferencje osobiste, jak i ustawienia zespołowe.

Claude Code używa hierarchicznego systemu konfiguracji, który pozwala na elastyczność przy zachowaniu spójności:

Precedencja ustawień (od najwyższej do najniższej)

  1. Zasady enterprise - Zarządzane przez administratorów IT
  2. Argumenty linii poleceń - Nadpisanie dla konkretnych sesji
  3. Lokalne ustawienia projektu - .claude/settings.local.json
  4. Współdzielone ustawienia projektu - .claude/settings.json
  5. Ustawienia użytkownika - ~/.claude/settings.json
  1. Interaktywna konfiguracja

    Okno terminala
    claude /config
  2. Lista bieżących ustawień

    Okno terminala
    claude config list
  3. Ustaw konkretną wartość

    Okno terminala
    claude config set model claude-sonnet-4
    claude config set autoUpdates false --global
  4. Zobacz ustawienie

    Okno terminala
    claude config get model

Globalne preferencje, które stosują się do wszystkich projektów:

~/.claude/settings.json
// ~/.claude/settings.json
{
"model": "claude-opus-4",
"theme": "dark",
"autoUpdates": true,
"env": {
"EDITOR": "code",
"NODE_ENV": "development"
},
"permissions": {
"defaultMode": "acceptEdits",
"allow": [
"Edit",
"Bash(git:*)",
"Bash(npm run:*)"
]
}
}

Współdzielona konfiguracja zespołu zapisana w kontroli wersji:

.claude/settings.json
// .claude/settings.json
{
"model": "claude-sonnet-4",
"maxTurns": 20,
"allowedTools": [
"Edit",
"View",
"Bash(npm:*)",
"mcp__github__*"
],
"env": {
"API_ENDPOINT": "https://staging.api.company.com"
},
"permissions": {
"additionalDirectories": [
"../shared-lib",
"../api-contracts"
]
},
"hooks": {
"PreToolUse": {
"Edit": "npm run lint-staged"
}
}
}

Osobiste nadpisania nie zapisane w kontroli wersji:

.claude/settings.local.json
// .claude/settings.local.json
{
"env": {
"API_KEY": "your-personal-dev-key"
},
"permissions": {
"defaultMode": "bypassPermissions"
}
}

Standardowe zachowanie - pyta o pozwolenie przy pierwszym użyciu każdego narzędzia:

Okno terminala
claude --permission-mode default

Dobre dla: Nowych projektów, nieznanych baz kodu

  1. Zarządzanie interaktywne

    Okno terminala
    claude /permissions
  2. Zezwól na konkretne narzędzia

    {
    "permissions": {
    "allow": [
    "Edit", // Wszystkie edycje plików
    "Bash(git:*)", // Wszystkie polecenia git
    "Bash(npm run test:*)", // Konkretne skrypty npm
    "Read(~/.zshrc)", // Odczyt konkretnych plików
    "mcp__github__*" // Wszystkie narzędzia GitHub MCP
    ]
    }
    }
  3. Odmów niebezpiecznych operacji

    {
    "permissions": {
    "deny": [
    "Bash(rm -rf:*)", // Zapobiegaj usuwaniu
    "Bash(curl:*)", // Blokuj zewnętrzne żądania
    "Edit(/etc/**)" // Chroń pliki systemowe
    ]
    }
    }

Wzorce reguł uprawnień

NarzędzieWzorzecPrzykład
BashBash(polecenie:*)Bash(npm run:*)
EditEdit(ścieżka/wzorzec)Edit(src/**)
ReadRead(ścieżka/wzorzec)Read(~/.ssh/*)
WebFetchWebFetch(domena:example.com)WebFetch(domena:api.company.com)
MCPmcp__serwer__narzędziemcp__github__create_issue

Ustaw zmienne środowiskowe, które utrzymują się między sesjami:

{
"env": {
// Ustawienia deweloperskie
"NODE_ENV": "development",
"DEBUG": "app:*",
// Konfiguracja API
"API_BASE_URL": "https://staging.api.com",
"TIMEOUT": "30000",
// Konfiguracja narzędzi
"EDITOR": "code",
"PAGER": "less"
}
}

Nadpisz ustawienia dla konkretnych sesji:

Okno terminala
# Uwierzytelnianie
export ANTHROPIC_API_KEY="sk-ant-..."
export ANTHROPIC_AUTH_TOKEN="Bearer token..."
# Wybór modelu
export ANTHROPIC_MODEL="claude-opus-4"
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-3"
# Konfiguracja proxy
export HTTPS_PROXY="https://proxy.company.com:8080"
export NODE_TLS_REJECT_UNAUTHORIZED=0 # Certyfikaty self-signed
# Dostrojenia zachowania
export BASH_MAX_TIMEOUT_MS=300000 # 5 minut
export DISABLE_PROMPT_CACHING=1
export DISABLE_INTERLEAVED_THINKING=1
{
"model": "claude-opus-4",
"smallFastModel": "claude-haiku-3"
}

Rozszerz dostęp Claude do plików poza katalog uruchomienia:

  1. Podczas uruchamiania

    Okno terminala
    claude --add-dir ../backend ../shared
  2. Podczas sesji

    Okno terminala
    /add-dir ../documentation
  3. Konfiguracja trwała

    {
    "permissions": {
    "additionalDirectories": [
    "../api",
    "../shared-components",
    "~/templates"
    ]
    }
    }

Administratorzy IT mogą wymuszać ustawienia organizacyjne:

managed-settings.json
// /etc/claude-code/managed-settings.json (Linux/WSL)
// /Library/Application Support/ClaudeCode/managed-settings.json (macOS)
// C:\ProgramData\ClaudeCode\managed-settings.json (Windows)
{
"permissions": {
"deny": [
"Bash(rm -rf:*)",
"WebFetch(domain:competitor.com)"
],
"disableBypassPermissionsMode": "disable"
},
"env": {
"CORPORATE_PROXY": "proxy.company.com:8080",
"CLAUDE_CODE_ENABLE_TELEMETRY": "0"
},
"forceLoginMethod": "console",
"model": "claude-sonnet-4"
}

Dla wdrożeń enterprise z rotującymi danymi uwierzytelniającymi:

  1. Utwórz skrypt pomocniczy klucza

    ~/bin/get-api-key.sh
    #!/bin/bash
    # Pobierz z vault
    vault kv get -field=api_key secret/claude-code
    # Lub z AWS Secrets Manager
    aws secretsmanager get-secret-value \
    --secret-id claude-code-api-key \
    --query SecretString --output text
  2. Skonfiguruj Claude Code

    {
    "apiKeyHelper": "~/bin/get-api-key.sh"
    }
  3. Ustaw interwał odświeżania

    Okno terminala
    export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000 # 1 godzina

Automatyzuj workflow z hooks pre/post narzędzi:

{
"hooks": {
"PreToolUse": {
"Edit": "npm run pre-edit-checks",
"Bash": "echo 'Executing: $COMMAND'"
},
"PostToolUse": {
"Edit": "npm run format",
"MultiEdit": "git add -A"
}
}
}

Twórz polecenia wielokrotnego użytku w .claude/commands/:

.claude/commands/test-component.md
---
name: test-component
description: Uruchom testy dla komponentu React
---
npm test -- --testNamePattern="$ARGUMENTS" --coverage

Skonfiguruj serwery Model Context Protocol:

.mcp.json
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
}
}
}

Sprawdź kolejność precedencji:

Okno terminala
# Zobacz efektywne ustawienia
claude config list
# Sprawdź, który plik jest używany
claude config get model -v

Wskazówki konfiguracyjne

  1. Zacznij od domyślnych - Nadpisuj tylko to, czego potrzebujesz
  2. Używaj ustawień projektu - Dziel wspólne konfiguracje z zespołem
  3. Zachowaj sekrety lokalnie - Używaj .claude/settings.local.json dla kluczy API
  4. Dokumentuj niestandardowe ustawienia - Dodaj komentarze w CLAUDE.md
  5. Regularnie przeglądaj uprawnienia - Okresowo audituj dozwolone narzędzia
  6. Używaj zmiennych środowiskowych - Do tymczasowych nadpisań
  7. Wykorzystuj hooks - Automatyzuj powtarzalne zadania
  8. Testuj konfiguracje - Sprawdź, czy ustawienia działają dla członków zespołu
UstawienieTypZakresOpis
modelstringWszystkieWybór głównego modelu
autoUpdatesbooleanGlobalneWłącz auto-aktualizacje
themestringGlobalneMotyw UI (dark/light)
permissionsobjectWszystkieReguły uprawnień
envobjectWszystkieZmienne środowiskowe
hooksobjectWszystkieHooks wykonania narzędzi
allowedToolsarrayWszystkieLista dozwolonych narzędzi
additionalDirectoriesarrayWszystkieDodatkowe katalogi robocze
cleanupPeriodDaysnumberWszystkiePrzechowywanie historii czatu