Przejdź do głównej zawartości

Linia poleceń Claude Code to flagi startowe binarki claude i kontrolki dostępne w trakcie sesji: -c i -r wznawiają wcześniejsze sesje, -n je nazywa, --model, --effort i --permission-mode ustalają, jak sesja działa, a -p wykonuje jeden prompt i kończy pracę, więc nadaje się do potoków i hooków Gita. Wszystkie flagi sprawdzono na Claude Code 2.1.283; nowsze na 2.1.296 (2026-10-12).

Ta strona jest dla programistów, którzy korzystają z Claude Code na co dzień. Masz za sobą 40 tur w jednej sesji, odpowiedzi zaczynają się rozjeżdżać, a ty nie pamiętasz, w której wczorajszej sesji powstawał schemat bazy. W tym samym czasie „szybkie” claude "..." kolegi w hooku Gita blokuje commit na zawsze. Na każdy z tych problemów linia poleceń ma dokładną odpowiedź.

  • Przepis na start sesji, który ustawia model, effort, tryb uprawnień i dodatkowe katalogi dla konkretnej sesji, a nie z przyzwyczajenia.
  • Model pracy z sesjami, który odnajduje wczorajszą pracę po nazwie, bezpiecznie ją rozgałęzia i nigdy nie opiera się na numerze z listy.
  • Rutynę zarządzania kontekstem z /clear, /compact, /context i Esc Esc, dzięki której długie sesje nie tracą precyzji.
  • Jednorazowe potoki claude -p, które zwracają JSON sprawdzany przez skrypt, z wyłączonymi narzędziami, gdy zadanie to tylko tekst na wejściu i tekst na wyjściu.
  • Trzy gotowe prompty: generator komunikatów commitów, strażnika pre-commit i notatkę przekazania, która przetrwa /clear.

Jak uruchomić Claude Code z właściwymi ustawieniami?

Dział zatytułowany „Jak uruchomić Claude Code z właściwymi ustawieniami?”

Ustawienia wybierz przy starcie sesji. Zmiana kursu po 30 turach kosztuje więcej niż jedna flaga na początku.

Okno terminala
# Terminal: a named session with a second repo in scope
claude -n "billing-webhooks" --add-dir ../billing-sdk
# Start in plan mode for work you want designed before any edit
claude --permission-mode plan "Plan the migration of webhook retries to a queue"
# Raise effort for a hard task instead of switching model
claude --effort high
# Name a model explicitly: an alias (opus, sonnet, fable) or a full ID
claude --model opus
FlagaCo kontrolujeKiedy po nią sięgnąć
-n, --nameNazwa widoczna w polu promptu, w selektorze /resume i w tytule terminalaPrzy każdej sesji, do której możesz wrócić
--add-dirDodatkowe katalogi dostępne dla narzędziZmiana obejmuje dwa repozytoria albo współdzielony pakiet
--permission-modemanual, acceptEdits, plan, auto, dontAsk lub bypassPermissionsplan do pracy projektowej; tryb startowy wystarcza w większości sesji
--effortlow, medium, high, xhigh lub maxTrudne rozumowanie albo długi refaktoring; dostrój to przed zmianą modelu
--modelAlias albo pełny identyfikator modelu dla tej sesjiTylko gdy twoje własne wyniki mówią, że domyślny model nie pasuje do zadania
-w, --worktreeTworzy worktree Gita dla sesjiRównoległa praca, która nie może ruszać bieżącego checkoutu

Model domyślny to właściwy punkt wyjścia. Od v2.1.280 jest to Claude Opus 5.5 na każdym płatnym planie, na obu kanałach wydań (sprawdzone 2026-10-12). Aktualną listę modeli i ceny znajdziesz w przeglądzie modeli. Najpierw dostrój --effort, a model zmieniaj dopiero wtedy, gdy potwierdzą to twoje ewaluacje.

Od 2.1.283 (oba kanały wydań na 2026-10-12) interaktywne sesje terminalowe startują w trybie auto na obsługiwanych modelach, w którym klasyfikator ocenia każdą akcję. claude -p nadal startuje w trybie Manual (od v2.1.285 w trybie auto u zewnętrznych dostawców lub z wyłączoną telemetrią). Shift+Tab przełącza tryby uprawnień w trakcie sesji. Jak ustawić wartość domyślną w settings.json zamiast podawać flagi, opisuje strona o konfiguracji.

-r przyjmuje identyfikator sesji albo frazę wyszukiwania, a nie pozycję na liście. Polecenia claude -r 5 nie ma (sprawdzone na 2.1.283).

Okno terminala
# Most recent conversation in this directory, no picker
claude -c

Trzy nawyki sprawiają, że wznawianie działa niezawodnie:

  1. Nazywaj sesję przy starcie. claude -n "billing-webhooks" umieszcza nazwę w selektorze. W sesji bez nazwy możesz ją nadać później poleceniem /rename.

  2. Używaj -c tylko wtedy, gdy ostatnia sesja w tym katalogu to ta, o którą ci chodzi. Wybór opiera się na tym, która była najnowsza, a nie na temacie.

  3. Rozgałęziaj przed eksperymentem. --fork-session razem z -r lub -c zachowuje oryginalną rozmowę jako punkt powrotu, więc nietrafiony pomysł nic nie kosztuje.

Praca nad pull requestem ma własny skrót. claude --from-pr 412 wznawia sesję powiązaną z tym PR, a claude --from-pr bez wartości otwiera selektor.

Jak zostawić sesję Claude Code w tle i zająć się czymś innym?

Dział zatytułowany „Jak zostawić sesję Claude Code w tle i zająć się czymś innym?”

Długie zadanie nie musi blokować terminala. --bg uruchamia sesję w tle i wypisuje krótkie ID, które przyjmują polecenia zarządzające:

Okno terminala
# Terminal: start a background session in its own worktree
claude --bg -w webhook-retries "Move webhook retries to the queue and make the billing tests pass"
claude agents # list background sessions
claude logs ID # recent terminal output of one session
claude attach ID # open it in this terminal
claude stop ID # stop it; the conversation is kept for --resume

W miejsce ID wstaw krótkie ID wypisane przez --bg. Worktree trzyma zmiany z tła z dala od checkoutu, w którym nadal pracujesz. Sesje w tle i widok agentów opisuje strona widok agentów. Od v2.1.290 (oba kanały wydań na 2026-10-17) claude attach i claude logs przyjmują też część nazwy sesji zamiast ID; nazwę ze spacjami weź w cudzysłów.

Dwa kolejne polecenia wyprowadzają cię z sesji w terminalu albo sprzątają po niej. claude --desktop (v2.1.285) otwiera aplikację Claude Desktop w bieżącym katalogu i kończy się bez uruchamiania sesji w terminalu; dodaj --continue albo --resume z ID sesji, żeby otworzyć w Desktopie właśnie tę sesję. claude purge [path] usuwa lokalny stan, który Claude Code trzyma dla projektu: transkrypcje, listy zadań, logi debugowania, historię edycji plików, wiersze historii promptów i wpis projektu w ~/.claude.json. --dry-run wypisuje, co zostałoby usunięte, -y pomija potwierdzenie, a --all obejmuje wszystkie projekty. Ta nazwa pojawiła się w v2.1.288, którą 2026-10-17 mają oba kanały wydań; wcześniej polecenie nazywało się claude project purge, a stara nazwa nadal działa i wypisuje komunikat. Źródło: dokumentacja CLI Claude Code, sprawdzona 2026-10-12.

Długie sesje tracą jakość, bo każda tura niesie całą historię. Kontekstem sterują cztery narzędzia, uporządkowane według tego, ile odrzucają:

NarzędzieCo robiKiedy go użyć
/contextPokazuje, co wypełnia okno kontekstuZanim zdecydujesz, czy kompaktować, czy czyścić
/compactStreszcza historię i pracuje dalejZadanie trwa, ale wczesne tury to już szum
Esc Esc przy pustym polu promptu (lub /rewind)Przywraca kod i rozmowę do wcześniejszego punktu kontrolnegoOstatnie tury poszły w złą stronę
/clearZaczyna pustą rozmowę w tym samym terminaluZadanie jest skończone albo następne nie ma z nim związku

/clear to najtańszy reset. Nie usuwa pracy zapisanej w plikach, więc najpierw zapisz do pliku stan, którego potrzebujesz; robi to prompt z notatką przekazania poniżej. /rewind potrafi nawet wrócić do punktu sprzed /clear.

Wskazuj pliki przez @, żeby Claude czytał dokładnie to, o co ci chodzi, zamiast tego szukać:

Make @src/billing/webhooks.ts retry with exponential backoff, following the pattern in @src/queue/retry.ts. Keep the public signature unchanged.

Wpisz @ i wybierz ścieżkę z podpowiedzi. /usage pokazuje koszt sesji i limity planu (/cost to alias). Pełną listę poleceń znajdziesz na stronie mistrzostwo w poleceniach slash.

Jak uruchomić Claude Code w potoku albo w hooku Gita?

Dział zatytułowany „Jak uruchomić Claude Code w potoku albo w hooku Gita?”

-p (--print) wykonuje jeden prompt i kończy pracę. Samo claude "..." otwiera sesję interaktywną i czeka na dane wejściowe, więc każdy skrypt, hook i krok CI potrzebuje -p.

Okno terminala
# Terminal: a single file on stdin, text out
claude -p "Explain what this SQL does and flag any full-table scans" < reports/monthly.sql
# A diff on stdin
git diff main...HEAD | claude -p "Summarise these changes for a release note"
# Pipe several files; you cannot redirect a directory (`< src/` fails)
cat src/billing/*.ts | claude -p "List every function that swallows an exception"

Skrypt potrzebuje wyniku, na którym może oprzeć decyzję, a nie prozy. Dają go trzy flagi:

FlagaEfekt
--output-format jsonJeden obiekt wyniku; odpowiedź jest w .result, błąd w .is_error, a koszt w .total_cost_usd
--json-schema '<schema>'Waliduje odpowiedź względem twojego schematu i zwraca ją w .structured_output
--tools ""Wyłącza wszystkie wbudowane narzędzia, więc zadanie typu tekst na wejściu, tekst na wyjściu nie uruchomi poleceń ani nie zmieni plików

Dwie kolejne flagi ograniczają przebieg headless: --max-budget-usd 0.50 wyznacza limit wydatków (tylko w trybie print), a --allowedTools "Bash(git diff *)" z góry zatwierdza wyłącznie polecenia, których zadanie potrzebuje. claude -p startuje w trybie uprawnień Manual, a nie auto (poza zewnętrznymi dostawcami i sesjami z wyłączoną telemetrią, gdzie od v2.1.285 startuje w trybie auto); dodaj --permission-mode dontAsk, który u każdego dostawcy odrzuca wszystko, co wymagałoby pytania (odczyty plików w katalogach roboczych i polecenia Bash tylko do odczytu nadal działają), oraz --permission-prompts none, żeby nic nie czekało na odpowiedź. Skrypty headless, cron i limity kosztów szczegółowo opisuje strona o skryptowaniu Claude Code.

Jak sprawdzić wynik pracy z linii poleceń bez czytania każdej linii?

Dział zatytułowany „Jak sprawdzić wynik pracy z linii poleceń bez czytania każdej linii?”

Szybkość linii poleceń pomaga tylko wtedy, gdy wynik sprawdza coś innego niż twoje oczy.

  • Przebiegi headless domyślnie blokują. Powyższy strażnik zatrzymuje commit przy is_error i przy werdykcie walidowanym schematem, więc błąd modelu albo zniekształcona odpowiedź blokuje commit, zamiast go przepuścić.
  • Zachowanie potwierdza twój zestaw testów. Kończ zadania interaktywne promptem „run the tests and the type check, and paste the last 20 lines of each”. Akceptuj zmianę, gdy bramki są zielone, a nie wtedy, gdy diff wygląda wiarygodnie.
  • Drugie przejście recenzuje diff. Przed commitem uruchom /code-review; strona o automatyzacji code review przenosi tę samą kontrolę do CI.
  • Edycje plików da się cofnąć. Esc Esc przywraca zmiany Claude’a w plikach i rozmowę, ale nie skutki poleceń powłoki (migracji, pushy, usunięć), więc te trzymaj za zatwierdzeniem. --fork-session zachowuje nietknięty oryginał.

Za merge nadal odpowiadasz ty. Bramki pokazują, które diffy zasługują na czytanie linia po linii: te, które ich nie przeszły, i te, które dotykają ścieżek wrażliwych na bezpieczeństwo.

  • claude -r otwiera niewłaściwą sesję. Fraza pasuje do więcej niż jednej sesji albo -c wybrało najnowszą sesję w tym katalogu. Co zrobić: nazywaj sesje przez -n lub /rename, a gdy to ważne, wznawiaj po ID z selektora.
  • Hook albo krok CI się zawiesza. Skrypt wywołuje claude "..." bez -p, co otwiera sesję interaktywną. Co zrobić: dodaj -p, a gdy zadanie tylko przekształca tekst, także --tools "".
  • jq zwraca null. -p wypisuje zwykły tekst, dopóki nie podasz --output-format json; z --json-schema odpowiedź jest w .structured_output, a nie w .result. Co zrobić: ustaw format jawnie i czytaj pole, które mu odpowiada.
  • Przebieg headless w nieznanym katalogu zachowuje się nieoczekiwanie. Tryb print pomija okno potwierdzenia zaufania do katalogu roboczego, a pliki ustawień, które nie przejdą walidacji, są po cichu ignorowane. Co zrobić: uruchamiaj claude -p tylko w katalogach, którym ufasz, a gdy ustawień wyraźnie brakuje, uruchom claude doctor.
  • Sesja ciągle prosi o tę samą zgodę. Rozwiązaniem jest reguła zezwalająca dla tego narzędzia w /permissions lub settings.json, a nie --dangerously-skip-permissions. Ta flaga pomija wszystkie kontrole; jej własny opis w pomocy zaleca ją wyłącznie dla sandboksów bez dostępu do internetu i nigdzie indziej nie jest bezpieczna.
  • Hook blokuje każdy commit z error_max_budget_usd. Limit zatrzymuje przebieg dopiero wtedy, gdy wydatki go przekroczą, więc przebieg może skończyć się powyżej niego, a limit niższy niż koszt jednego wywołania modelu zawodzi za każdym razem. Co zrobić: podnieś --max-budget-usd do kilkukrotności .total_cost_usd zwykłego przebiegu.
  • Dostosowania psują start. Wadliwy hook, plugin lub CLAUDE.md sprawia, że każda sesja działa źle. Co zrobić: claude --safe-mode startuje z wyłączonymi dostosowaniami, więc możesz znaleźć winowajcę.