
Claude Code: 7 ukrytych ustawień, o których milczy dokumentacja
Anthropic zbudował Claude Code jako narzędzie terminalowe, które domyślnie czyta plik CLAUDE.md w katalogu projektu. Plik ten może zawierać instrukcje stylu kodu, preferencje frameworka, zasady nazewnictwa funkcji. Boris Cherny z Anthropic opisuje to jako „jedyny plik konfiguracyjny, którego naprawdę potrzebujesz”. Większość użytkowników nie sięga jednak głębiej – a pod powierzchnią czeka kilkanaście mechanizmów, o których oficjalna dokumentacja milczy. Jak pisze Arpan Patel w swoim przewodniku, istnieje cała warstwa ukrytych konfiguracji, które drastycznie zmieniają sposób pracy z narzędziem.
TL;DR: Claude Code posiada ukryte warstwy konfiguracji niewystępujące w oficjalnej dokumentacji Anthropic. Plik CLAUDE.md może mieć wersję lokalną (.claude/CLAUDE.local.md), istnieje system Skills wielokrotnego użytku, komendy takie jak /goal i /insights pozwalają sterować przebiegiem sesji, a pluginy MCP rozszerzają możliwości narzędzia o zewnętrzne źródła danych. Jak zauważa Arpan Patel, Anthropic utrzymuje te funkcje w trybie eksperymentalnym bez pełnej dokumentacji.
Jak napisać CLAUDE.md, żeby Claude Code faktycznie słuchał?
Plik CLAUDE.md to główny punkt styku między programistą a zachowaniem Claude Code. Boris Cherny z Anthropic zaleca trzymać go poniżej 200 linii i dzielić na wyraźne sekcje: styl kodu, architektura projektu, testy, zależności. Zbyt długi plik sprawia, że model ignoruje końcowe fragmenty – to zachowanie wynika z ograniczeń okna kontekstowego. Arpan Patel potwierdza, że najlepsi użytkownicy trzymają ten plik zwięzły i aktualny.
Dodatkowo warto umieszczać w CLAUDE.md konkretne przykłady kodu zamiast abstrakcyjnych reguł. Zamiast „używaj TypeScript” lepiej napisać „każdy nowy plik musi mieć rozszerzenie .ts i używać strict mode”. Model lepiej reaguje na konkretne instrukcje. To podstawowa zasada pisania promptów.
Z kolei sekcje warto oddzielać nagłówkami markdown – Claude Code parsuje strukturę pliku i traktuje nagłówki jako separatory kontekstu. Dlatego czytelna struktura pliku przekłada się na lepsze wyniki.
Czym jest CLAUDE.local.md i dlaczego warto go używać?
Oprócz głównego CLAUDE.md istnieje plik .claude/CLAUDE.local.md, który pozwala na konfigurację specyficzną dla danego środowiska. Arpan Patel wyjaśnia, że ten plik nie powinien trafiać do repozytorium git – zawiera preferencje lokalne: ścieżki do SDK, konfigurację środowiska deweloperskiego, preferencje edytora. To rozwiązanie rozwiązuje problem konfliktów między członkami zespołu.
W praktyce wygląda to tak: główny CLAUDE.md definiuje standardy zespołu, a CLAUDE.local.md przechowuje konfigurację indywidualną. Na przykład jeden deweloper może preferować uruchamianie testów przez Docker, podczas gdy inny używa lokalnego środowiska. Każdy definiuje to w swoim pliku lokalnym.
Ponadto plik lokalny pozwala na eksperymenty z konfiguracją bez ryzyka wpływu na resztę zespołu. Można testować różne instrukcje stylu, sprawdzać jak model reaguje na konkretne sformułowania, a potem przenieść sprawdzone rozwiązania do głównego pliku.
Jak działają Skills i dlaczego zmieniają przepływ pracy?
Skills to wielokrotnego użytku bloki instrukcji przechowywane w katalogu .claude/skills/. Każdy skill to osobny plik markdown, który Claude Code wczytuje na żądanie. Arpan Patel podaje przykłady: skill do code review, skill do pisania testów jednostkowych, skill do generowania dokumentacji API. Zamiast powtarzać te same instrukcje w CLAUDE.md, wyodrębnia się je do osobnych plików.
To podejście ma dwie zalety. Po pierwsze, zmniejsza rozmiar głównego pliku konfiguracyjnego – model ma mniej tekstu do przetworzenia przy każdym zapytaniu. Po drugie, pozwala na warstwowe ładowanie kontekstu: aktywujesz tylko te skille, które są potrzebne do konkretnego zadania.
Mechanizm działania jest prosty. Skill to plik .md w odpowiednim katalogu. Claude Code rozpoznaje go automatycznie i integruje z bieżącym kontekstem sesji. Rekomenduję zacząć od jednego prostego skilla – na przykład do code review – i stopniowo budować bibliotekę.
Jakie komendy Claude Code są niedoceniane?
Komenda /goal pozwala zdefiniować cel sesji przed rozpoczęciem pracy. Zamiast wpisywać kolejne polecenia ad-hoc, określasz na początku: „chcę zrefaktorować moduł autentykacji do wzorca Repository”. Claude Code trzyma się tego celu przez całą sesję, co zmniejsza ryzyko dryfowania kontekstu. Arpan Patel potwierdza, że to jedna z najmniej używanych komend.
Z kolei /insights generuje podsumowanie tego, czego Claude Code dowiedział się podczas sesji. Przydaje się przy długich zadaniach, gdzie model wykonuje dziesiątki kroków – podsumowanie pozwala zweryfikować, czy narzędzie nie zboczyło z kursu.
Poniżej zestawienie niedocenianych komend i ich zastosowań:
| Komenda | Zastosowanie | Kiedy używać |
|---|---|---|
| /goal | Definiuje cel sesji | Na początku każdej dłuższej pracy |
| /insights | Podsumowanie sesji | Po zakończeniu zadania lub w połowie |
| /compact | Kompresuje kontekst | Gdy sesja staje się długa |
| /cost | Sprawdza koszt tokenów | Przed podjęciem decyzji o kontynuacji |
Komendę /compact warto stosować szczególnie często. Gdy sesja przekracza kilkadziesiąt wymian, kontekst rośnie i model zaczyna gubić wcześniejsze instrukcje. Kompresja zachowuje najważniejsze informacje, jednocześnie redukując zużycie tokenów. Jak pisze Blake Crosley w swoim przewodniku, to podstawowa technika optymalizacji kosztów.
Jak skonfigurować MCP, żeby Claude Code rozmawiał z zewnętrznymi narzędziami?
Model Context Protocol to mechanizm pozwalający Claude Code na komunikację z zewnętrznymi źródłami danych. Przez MCP można podłączyć bazy danych, API, systemy plików, a nawet inne modele AI. Arpan Patel opisuje to jako „most między izolowanym środowiskiem Claude a resztą świata”.
Konfiguracja MCP wymaga dodania odpowiednich wpisów do pliku konfiguracyjnego. Na przykład, aby podłączyć bazę PostgreSQL, definiujesz połączenie w konfiguracji MCP i Claude Code automatycznie zyskuje możliwość wykonywania zapytań SQL. To eliminuje potrzebę ręcznego kopiowania danych między narzędziami.
Warto jednak zachować ostrożność z uprawnieniami. MCP daje Claude Code dostęp do zewnętrznych systemów, więc należy dokładnie kontrolować co narzędzie może zrobić. Rekomenduję zacząć od dostępu tylko do odczytu i stopniowo rozszerzać uprawnienia w miarę budowania zaufania do konfiguracji.
Więcej o konfiguracji Claude Code przeczytasz w Przegląd Claude Code – Claude Code Docs. Z kolei bieżące zmiany w narzędziu śledzi Dziennik zmian – Dokumentacja Claude Code.
Jakie zmienne środowiskowe dają kontrolę nad zachowaniem Claude Code?
Claude Code posiada szereg zmiennych środowiskowych pozwalających dostroić jego działanie bez modyfikacji kodu. Jak opisuje Blake Crosley w swoim przewodniku, zmienne takie jak CLAUDE_CODE_MAX_TOKENS czy CLAUDE_CODE_MODEL pozwalają kontrolować model i limity generowania. Konfigurację tych zmiennych wykonuje się w pliku .env lub bezpośrednio w terminalu przed uruchomieniem narzędzia.
Oto kluczowe zmienne środowiskowe wymienione w dokumentacji:
CLAUDE_CODE_MODEL– pozwala wymusić konkretny model (na przykład claude-sonnet-4-20250514)CLAUDE_CODE_MAX_TOKENS– kontroluje limit tokenów w odpowiedziCLAUDE_CODE_TEMPERATURE– reguluje determinizm odpowiedziDISABLE_PROMPT_CACHING– wyłącza buforowanie promptówCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC– blokuje telemetrię
Dlatego warto sprawdzać aktualną listę zmiennych w repozytorium narzędzia. Anthropic regularnie dodaje nowe opcje, które mogą nie mieć jeszcze oficjalnej dokumentacji.
Jakie hooki pozwala definiować Claude Code?
Hooki to mechanizm pozwalający uruchamiać własne skrypty w konkretnych momentach cyklu działania Claude Code. Blake Crosley opisuje hooki jako punkt zaczepienia, gdzie deweloper może wstrzyknąć logikę walidacyjną, formatowanie kodu, czy powiadomienia. Na przykład hook post-response może automatycznie uruchomić linter po każdej odpowiedzi modelu.
Konfiguracja hooków odbywa się w pliku .claude/settings.json w sekcji hooks. Każdy hook definiuje zdarzenie i komendę powłoki do wykonania. Co więcej, hooki mogą modyfikować odpowiedź przed jej wyświetleniem.
| Zdarzenie hooka | Kiedy się uruchamia | Przykład zastosowania |
|---|---|---|
| pre-request | Przed wysłaniem do API | Walidacja promptu |
| post-response | Po otrzymaniu odpowiedzi | Automatyczny lint |
| on-error | Gdy wystąpi błąd | Powiadomienie na Slacka |
| on-file-change | Gdy plik ulegnie zmianie | Restart serwera dev |
Choć hooki dają dużą elastyczność, należy zachować ostrożność. Skrypty uruchamiane przez hooki mają dostęp do systemu plików. Zatem warto ograniczyć ich uprawnienia do minimum.
Jak stworzyć własnego subagenta w Claude Code?
Subagenty to wyspecjalizowane instancje Claude Code uruchamiane w ramach głównej sesji. Arpan Patel opisuje subagenty jako sposób na rozdzielenie zadań – na przykład jeden subagent zajmuje się testami, podczas gdy główny sesja pisze kod. Tworzenie własnych subagentów wymaga zdefiniowania ich w katalogu .claude/agents/ jako pliki markdown z instrukcjami.
Każdy plik subagenta określa rolę, ograniczenia i dostępne narzędzia. Na przykład subagent do code review może mieć dostęp tylko do odczytu plików i komendy git diff. To podejście pozwala budować pipeline’y, gdzie różne zadania wykonują wyspecjalizowane agenty.
Przykładowa struktura subagenta wygląda następująco:
- Plik
.claude/agents/reviewer.mdz opisem roli i instrukcjami - Definicja dostępnych narzędzi (na przykład tylko odczyt plików)
- Ograniczenia kontekstowe (na przykład max 10 plików na sesję)
- Instrukcje wyjściowe (format odpowiedzi)
Wobec tego subagenty pozwalają na budowanie złożonych przepływów pracy bez duplikowania instrukcji w głównym CLAUDE.md.
Dlaczego koszty Claude Code mogą szybko urosnąć?
Microsoft w ciągu pięciu miesięcy przepalił roczny budżet na licencje Claude Code. Jak donosi ithardware.pl, firma planuje wycofać licencje z powodu niekontrolowanego wzrostu kosztów. To pokazuje, że bez odpowiedniej konfiguracji i limitów narzędzie może generować znaczne wydatki, szczególnie przy dużych zespołach i długich sesjach.
Głównym czynnikiem kosztowym jest kontekst. Każda wymiana w sesji dodaje tokeny do historii, a model przetwarza całą historię przy każdym zapytaniu. Dlatego komenda /compact jest tak istotna – redukuje kontekst i obniża koszt kolejnych wymian.
Dodatkowo MCP i hooki mogą generować dodatkowe wywołania API. Na przykład hook post-response uruchamiany po każdej odpowiedzi dodaje kolejne zapytanie. Zatem warto monitorować zużycie tokenów przez komendę /cost.
W praktyce koszty kontroluje się przez kilka mechanizmów:
- Regularne używanie
/compactco 20-30 wymian - Definiowanie jasnych celów przez
/goalna początku sesji - Ograniczanie liczby aktywnych MCP i hooków
- Monitorowanie kosztów przez
/costprzed kontynuacją - Ustawianie zmiennych środowiskowych limitujących tokeny
Jakie wzorce przepływu pracy zaleca zespół Anthropic?
Boris Cherny z Anthropic, twórca Claude Code, zaleca konkretne podejście do pracy z narzędziem. Jak relacjonuje Business Insider, Cherny radzi 22-letnim absolwentom informatyki, aby zakładali startupy, ponieważ „to złoty wiek”. To podejście przekłada się na filozofię Claude Code – narzędzie ma być partnerem w tworzeniu, nie tylko asystentem.
Zespół Anthropic używa wewnętrznie kilku wzorców. Po pierwsze, sesje zaczynają się od /goal z jasno zdefiniowanym celem. Po drugie, kontekst kompresuje się regularnie przez /compact. Po trzecie, skille i subagenty wyodrębnia się do osobnych plików, żeby CLAUDE.md pozostał zwięzły. Arpan Patel potwierdza, że ten wzorzec jest najskuteczniejszy w codziennej pracy.
Co więcej, Anthropic zaleca iteracyjne podejście do konfiguracji. Zamiast tworzyć idealny CLAUDE.md od razu, lepiej zacząć od minimalnej wersji i rozbudowywać ją w miarę potrzeb. Lokalne pliki .claude/CLAUDE.local.md pozwalają na eksperymenty bez wpływu na zespół.
Natomiast praktyczne przykłady zastosowań znajdziesz w Poza promptem: Claude Code Arpan Patel.
Często zadawane pytania
Ile linii powinien mieć plik CLAUDE.md?
Boris Cherny z Anthropic zaleca trzymać plik CLAUDE.md poniżej 200 linii. Przekroczenie tej wartości powoduje, że model ignoruje końcowe fragmenty pliku z powodu ograniczeń okna kontekstowego.
Jak często należy używać komendy /compact?
Blake Crosley zaleca kompresję kontekstu co 20-30 wymian. Regularne użycie /compact redukuje zużycie tokenów i zapobiega dryfowaniu kontekstu podczas długich sesji.
Czy Claude Code może działać bez nadzoru?
Jak donosi AI Weekly, Claude Code potrafi wykonywać zadania bez nadzoru przez około dwie godziny. Wymaga to jednak jasnego celu zdefiniowanego przez /goal i regularnej weryfikacji wyników.
Gdzie przechowywać skille Claude Code?
Skille przechowuje się w katalogu .claude/skills/ jako osobne pliki markdown. Arpan Patel potwierdza, że to podejście zmniejsza rozmiar głównego CLAUDE.md i pozwala na warstwowe ładowanie kontekstu.
Podsumowanie
Claude Code oferuje znacznie więcej możliwości, niż sugeruje oficjalna dokumentacja. Plik CLAUDE.md to dopiero początek – prawdziwa kontrola nad narzędziem kryje się w zmiennych środowiskowych, hookach, subagentach i pliku CLAUDE.local.md. Zespół Anthropic używa tych mechanizmów wewnętrznie, ale nie dokumentuje ich w pełni publicznie.
Kluczowe wnioski z tego przeglądu:
- Plik CLAUDE.md powinien mieć maksymalnie 200 linii z konkretnymi instrukcjami
- Zmienne środowiskowe pozwalają kontrolować model, limity tokenów i telemetrię
- Hooki uruchamiają własne skrypty w momentach cyklu życia Claude Code
- Subagenty pozwalają rozdzielić zadania między wyspecjalizowane instancje
- Koszty kontroluje się przez
/compact,/goali monitorowanie przez/cost
Przykład Microsoftu pokazuje, że niekontrolowane użycie Claude Code może szybko przepalić budżet. Dlatego warto zacząć od podstawowej konfiguracji i stopniowo dodawać zaawansowane mechanizmy. Więcej o zarządzaniu sesjami znajdziesz w claude-warmup: zarządzanie 5-godzinnym oknem Claude Code, a alternatywne podejście do narzędzia w claw-code: claude code przepisany na nowo (Open-source).