
Claude Code 2.1.299: kompakcja bezczynnych sesji i poprawki sandboxa
Claude Code 2.1.299, wydany 14 października 2026, wprowadza dwie zmiany, które warto znać, zanim zaskoczą Cię w pracy. Po pierwsze, w terminalu długa rozmowa (powyżej 200 tysięcy tokenów), którą zostawisz na około 54 minut, jest teraz automatycznie kompaktowana, zanim wygaśnie jej godzinny cache promptów. Po drugie, wersja łata błąd, który pozwalał poleceniu z sandboxa zapisywać pliki do katalogu --plugin-dir, czyli tam, skąd Claude Code ładuje i uruchamia kod poza sandboxem.
Ten tekst opisuje jedno i drugie na podstawie oficjalnych notatek wydania. Tam, gdzie notatki milczą, piszę to wprost.
W skrócie:
- Kompakcja bezczynnych sesji działa w terminalu, dla rozmów od 200 tysięcy tokenów, po około 54 minutach bezczynności.
- Wyłączysz ją ustawieniem
"idleCompaction": falsewsettings.json. Próg zmienisz zmiennąCLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS. Obie opcje wymagają wersji 2.1.290 lub nowszej. - Zapis z sandboxa do
--plugin-dirzostał zablokowany. Jeśli piszesz mody z tą flagą, zaktualizuj Claude Code. - Mod, który co turę wysyła prompt, nie przedłuża już pracy ponad
--max-turnsi--max-budget-usd.
Co to jest kompakcja bezczynnej sesji w Claude Code
Kompakcja to streszczenie dotychczasowej rozmowy, które zastępuje jej pełną treść w kontekście. Claude Code robi to od dawna, gdy kontekst zbliża się do limitu. Wersja 2.1.299 dodaje drugi powód: bezczynność.
Notatki opisują to tak: rozmowa mająca 200 tysięcy tokenów lub więcej, zostawiona na około 54 minuty, jest kompaktowana przed wygaśnięciem godzinnego cache’u promptów, żeby następna wiadomość nie musiała przetwarzać wszystkiego od nowa.
Dlaczego akurat 54 minuty? Notatki nie tłumaczą tej liczby. Moja interpretacja: godzinny cache kończy się po 60 minutach, więc kompakcja startuje z kilkuminutowym zapasem, kiedy cache jeszcze działa. Gdy wrócisz po godzinie bez takiej kompakcji, cache jest już pusty, a pierwsza wiadomość musi wczytać cały kontekst od zera. Przy 200 tysiącach tokenów to znacząca różnica w kosztach i w czasie odpowiedzi. Konkretnych kwot notatki nie podają, więc nie będę ich zgadywać.
Kiedy kompakcja bezczynnej sesji się włącza
Warunki wynikają z notatek:
| Warunek | Wartość |
|---|---|
| Gdzie działa | w terminalu (notatki mówią o “idle compaction in the terminal”) |
| Minimalny rozmiar rozmowy | 200 tysięcy tokenów |
| Bezczynność | około 54 minuty |
| Zmiana progu | zmienna CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS |
| Wyłączenie | "idleCompaction": false w settings.json |
| Wymagana wersja dla opcji | 2.1.290 lub nowsza |
Notatki nie mówią wprost, czy funkcja jest domyślnie włączona. Skoro jest ustawienie do jej wyłączenia, wygląda na to, że tak. Sprawdź to na własnej instalacji, zanim na tym polegasz. Nie wiem też, czy kompakcja działa w IDE ani w SDK, bo notatki wymieniają tylko terminal.
Co to zmienia w codziennej pracy z Claude Code
Najpierw plus: wracasz do sesji po przerwie na obiad i pierwsza wiadomość nie wczytuje kontekstu od nowa.
Teraz minus, który bierze się z natury kompakcji: wracasz do streszczenia, a nie do dosłownej treści rozmowy. Szczegóły z początku sesji, takie jak dokładne komunikaty błędów, wklejone fragmenty logów czy nazwy zmiennych, mogą się w nim spłaszczyć. Jeśli w długiej sesji masz ważny fragment, którego nie wolno zgubić, zapisz go do pliku w repozytorium albo do CLAUDE.md, zamiast liczyć na pamięć rozmowy. O tym, jak utrzymywać kontekst w ryzach: higiena context window w pracy z agentami AI.
Rozsądne ustawienia:
- Zostaw domyślne zachowanie, jeśli zwykle zostawiasz sesje na kilka godzin i wracasz do nich w kolejnym kroku tego samego zadania.
- Podnieś próg, jeśli wolisz, żeby kompakcja dotyczyła tylko naprawdę wielkich rozmów (
CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS). - Wyłącz ją, jeśli pracujesz na rozmowach, w których każdy szczegół musi zostać dosłownie, i wolisz sam decydować, kiedy robisz kompakcję (
"idleCompaction": false).
Jak Claude Code liczy limity i ile kosztuje na tle innych narzędzi: Claude Code, Codex, Copilot, Antigravity: ceny i limity w 2026.
Poprawka sandboxa: zapis do katalogu --plugin-dir
Druga zmiana jest bezpieczeństwa. Notatki opisują ją jednym zdaniem: naprawiono możliwość zapisu przez polecenie z sandboxa do folderu --plugin-dir, którego kod Claude Code przeładowuje i uruchamia poza sandboxem.
Rozumowanie jest proste. Flaga --plugin-dir wskazuje katalog z modem lub wtyczką, a Claude Code ładuje z niego kod i wykonuje go z uprawnieniami samego programu, nie wewnątrz piaskownicy. Jeśli polecenie uruchomione w piaskownicy mogło coś do tego katalogu zapisać, mogło podmienić kod, który przy następnym przeładowaniu wykonałby się już na zewnątrz. Poprawka zamyka tę drogę obejścia granicy sandboxa.
Notatki nie podają, czy lukę ktoś wykorzystał, ani jej numeru CVE, więc nie będę tego sugerować. Wiem tylko tyle, że zmiana jest opisana jako poprawka. Kolejne łatki sandboxa, w tym pliki startowe powłoki i symlinki w denyWrite, opisuję w tekście o Claude Code 2.1.309–2.1.312.
Co z tego wynika dla Ciebie:
- Jeśli tworzysz mody według przewodnika po modach w Claude Code albo uruchamiałeś panel subagentów Agent Radar przez
claude --plugin-dir, zaktualizuj Claude Code do wersji 2.1.299 lub nowszej. - Dopóki nie zaktualizujesz, nie uruchamiaj poleceń z niezaufanych źródeł w sesji, która ładuje katalog z modem. To ten sam rodzaj ostrożności, który opisuję w przewodniku po modach: mod to kod, który działa z Twoimi uprawnieniami.
Mod, który przedłużał pracę ponad --max-turns i --max-budget-usd
Notatki naprawiają też błąd, w którym mod wysyłający prompt na końcu każdej tury potrafił podtrzymywać uruchomienie w trybie headless ponad --max-turns, --max-budget-usd, przerwanie lub koniec rozmowy gospodarza.
To ma znaczenie, jeśli uruchamiasz Claude Code w skryptach albo w CI i polegasz na tych flagach jako na bezpiecznikach kosztów. Flagi z założenia mają zatrzymać pracę. Do tej poprawki mod z hookiem, który co turę dosyłał nowy prompt, mógł te limity obejść. Jeśli używasz takich modów w uruchomieniach nienadzorowanych, zaktualizuj.
Inne zmiany w 2.1.299, które mogą Cię dotyczyć
Z długiej listy wybrałem te, które według mnie widać w codziennej pracy:
- Nowa zmienna
CLAUDE_CODE_DISABLE_FILE_MENTIONS. Przy@w prompcie Claude dostaje ścieżkę pliku do przeczytania własnymi narzędziami, a nie jego treść. - Ostrzeżenia w
/usagedotyczące wysokiego wysiłku (max effort), workflowów, stałego kontekstu i dużych wyników narzędzi, czyli rzeczy, które najszybciej zjadają limity. - Poprawka dla WSL2. Polecenia w sandboxie nie wywalają się już błędem
bwrap: Can't mkdir /mnt/c/Program Files/ClaudeCode, gdy sandbox może pisać na dysku Windows. Jeśli pracujesz na Windowsie z WSL2, to dla Ciebie. - Tworzenie modów w trybie accept-edits. Narzędzia Write i Edit nie tworzą już modu w folderze modów sesji bez pytania, gdy ścieżka katalogu konfiguracji nie zawiera
.claude. - Poświadczenie w opisie zadania. Teammate uruchomiony bez opisu nie zachowuje już fragmentu poświadczenia z promptu w widocznym opisie zadania.
Pełna lista, w tym zmiany dotyczące modów zarządzanych przez organizację, jest w notatkach wydania.
Jak zaktualizować i sprawdzić, co masz
- Sprawdź wersję poleceniem
claude --version. Jeśli jest niższa niż 2.1.299, zaktualizuj Claude Code tak, jak go instalowałeś. - Wejdź do
/usagei zobacz nowe ostrzeżenia. To najszybszy sposób, żeby zobaczyć, co w Twojej sesji zjada kontekst. - Zdecyduj o kompakcji bezczynnych sesji: zostaw, podnieś próg albo wyłącz (
"idleCompaction": false). - Jeśli ładujesz mody przez
--plugin-dir, a do tej pory uruchamiałeś w tych sesjach niezaufane polecenia, potraktuj aktualizację jako pilną.
Moja ocena: kompakcja bezczynnych sesji to dobry domyślny kompromis, bo koszt powrotu do sesji po godzinie rośnie z rozmiarem kontekstu, a ten kompromis go obcina. Jej cena to utrata dosłownej treści, więc przy długich sesjach nie traktuj rozmowy jak magazynu. Poprawka --plugin-dir jest ważniejsza, ale dotyczy wąskiej grupy osób, które piszą lub instalują mody.
Źródła: Claude Code v2.1.299 - notatki wydania (kompakcja bezczynnych sesji, --plugin-dir, --max-turns, --max-budget-usd, WSL2). Stan na 14 października 2026.
EfektywnyDev pisze o AI w praktyce: co zmiana w narzędziu oznacza w codziennej pracy z agentami, a nie tylko w notatkach wydania.
Nowe materiały prosto na maila
Publikuję nowy artykuł albo lekcję kursu — dostajesz jednego maila. Nic poza tym.
Bez cyklu wydawniczego i newsów o każdej premierze modelu
Zapisy do newslettera otwieram partiami, żeby nie zamieniać go w kolejny kanał ze spamem i recyklingiem linków.
Jeśli chcesz dostać informację przy następnym otwarciu zapisów, napisz na [email protected].

O autorze
Marcin Szymański
Od kilkunastu lat buduję systemy w .NET i Azure — obecnie rozproszony monitoring PingView. Piszę tu o pracy człowiek + agenci AI na realnych workflow, nie na demach. Zawodowo prowadzę audyty, rescue projektów i wdrożenia AI-assisted delivery w zespołach.