Przejdź do głównej zawartości

Linia poleceń Claude Code: sesje, flagi i jednorazowe potoki

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.

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: nazwana sesja z drugim repozytorium w zasięgu
claude -n "billing-webhooks" --add-dir ../billing-sdk
# Start w trybie planowania, gdy chcesz projektu przed jakąkolwiek edycją
claude --permission-mode plan "Plan the migration of webhook retries to a queue"
# Wyższy effort przy trudnym zadaniu zamiast zmiany modelu
claude --effort high
# Jawny wybór modelu: alias (opus, sonnet, fable) albo pełny identyfikator
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. W kanale wydań latest jest to Claude Opus 5.5 na każdym płatnym planie, a kanał stable (2.1.274 na dzień 2026-09-26) nadal domyślnie używa starszych modeli. Aktualną listę modeli i ceny znajdziesz w przeglądzie modeli. Najpierw dostrój --effort, a model zmieniaj dopiero wtedy, gdy potwierdzą to twoje ewaluacje.

W kanale latest (2.1.283) 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. 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
# Najnowsza rozmowa w tym katalogu, bez selektora
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: sesja w tle we własnym worktree
claude --bg -w webhook-retries "Move webhook retries to the queue and make the billing tests pass"
claude agents # lista sesji w tle
claude logs ID # ostatnie wyjście terminala jednej sesji
claude attach ID # otwiera ją w tym terminalu
claude stop ID # zatrzymuje ją; rozmowa zostaje dla --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.

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: jeden plik na stdin, tekst na wyjściu
claude -p "Explain what this SQL does and flag any full-table scans" < reports/monthly.sql
# Diff na stdin
git diff main...HEAD | claude -p "Summarise these changes for a release note"
# Kilka plików przez potok; katalogu nie przekierujesz (`< src/` kończy się błędem)
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; dodaj --permission-prompts none, a wszystko spoza listy dozwolonych zostanie automatycznie odrzucone zamiast czekać 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ę.