# Claude Code vymazáva históriu po 30 dňoch: ako si ju uložiť

> Kde sa ukladajú relácie Claude Code, ako nakonfigurovať cleanupPeriodDays a ako usporiadať externý archív pomocou rsync, launchd alebo cron.

Source: https://ailoot.ai/blog/sk/claude-code-history-30-days/
Canonical: https://ailoot.ai/blog/sk/claude-code-history-30-days/
Language: sk
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-056
Revision: sha256-aa6baa0260719cca7ef04329378588b48ce08721106e90fd6289d3f40f85e7b2


Pomoc pri používaní služby nájdete v [dokumentácii Ailoot](https://ailoot.ai/docs/).



## Naozaj Claude Code vymazáva históriu relácií?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Áno. Pri každom spustení Claude Code vymaže súbory relácií staršie ako 30 dní. Zodpovedá za to nastavenie `cleanupPeriodDays` v súbore `~/.claude/settings.json`; jeho predvolená hodnota je `30`. Vymazanie prebehne bez upozornenia, bez žiadosti o súhlas a bez možnosti obnoviť súbory.

</div>

Otvárate Claude Code, aby ste sa vrátili k relácii spred dvoch mesiacov — a je preč. Súbor bol úplne vymazaný z disku. Nejde o poruchu ani o zriedkavú chybu: takto funguje predvolený mechanizmus čistenia.

Čistenie riadi jedno nastavenie: `cleanupPeriodDays`. Jeho predvolená hodnota je `30`. Pri každom spustení Claude Code prehľadá priečinok s históriou a vymaže všetko, čo je staršie než toto obdobie. Toto nastavenie som v súbore `~/.claude/settings.json` vôbec nemal, takže sa používala predvolená hodnota a niektoré moje staršie relácie už boli preč.

V repozitári Anthropic je otvorených niekoľko hlásení chýb týkajúcich sa tohto problému a žiadne nebolo opravené.

## Kde Claude Code ukladá históriu relácií?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

História každej relácie sa ukladá v súbore `~/.claude/projects/<project-path>/<session-id>.jsonl`. Názov priečinka je absolútna cesta pracovného adresára, v ktorom ste spustili Claude Code, pričom lomky sú nahradené pomlčkami. Súbor `.jsonl` obsahuje celú konverzáciu, riadok po riadku: vaše výzvy, odpovede modelu, volania nástrojov a úpravy súborov. Práve túto pamäť čistenie vymazáva.

</div>

Históriu ľahko nájdete. Otvorte terminál a pozrite si obsah priečinka:

```bash
ls ~/.claude/projects/
```

Každý podpriečinok predstavuje samostatný projekt. Jeho názov zakóduje cestu: napríklad projekt v priečinku `/Users/alex/dev/shop` bude mať priečinok `-Users-alex-dev-shop`. Vnútri sa nachádzajú súbory relácií:

```bash
ls -lt ~/.claude/projects/-Users-alex-dev-shop/
# 3f8a1c2e-....jsonl   ← jedna relácia = jeden súbor
# a91b7d40-....jsonl
```

Každý súbor `.jsonl` je záznam po jednotlivých riadkoch: jeden riadok zodpovedá jednej udalosti relácie. Obsahuje viac než len text konverzácie. Uchováva logiku vašich rozhodnutí: prečo ste si vybrali konkrétnu štruktúru databázy, ktoré možnosti ste zavrhli, kde Claude urobil chybu a ako ste ju opravili.

V podstate je to denník vývoja projektu. Preto jeho strata bolí: neprídete o „čet“, ale o kontext, ktorý ste si budovali celé týždne. Štruktúru tohto kontextu som opísal v príručke [„Claude Memory vs. CLAUDE.md“](https://ailoot.ai/blog/sk/claude-memory-claude-md-auto-memory/).

## Prečo Anthropic vymazáva prepisy po 30 dňoch?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Anthropic to odôvodňuje ochranou súkromia a bezpečnosťou. Súbory relácií sa ukladajú na disk ako obyčajný text a môžu obsahovať zdrojový kód, heslá a kľúče API. Uchovávať ich navždy predstavuje riziko: ak niekto ukradne notebook alebo získa prístup k disku, dostane sa ku všetkým týmto citlivým údajom. Obdobie 30 dní je kompromisom medzi „pokračovaním v nedávnej práci“ a „neuchovávaním tajomstiev na disku dlhšie, než je potrebné“.

</div>

Vymazávanie má svoje opodstatnenie a pred jeho úplným vypnutím sa oplatí mu porozumieť. Prepis je obyčajný text. Ak Claude počas relácie prečítal súbor `.env`, vložil kľúč do príkazu alebo ste do výzvy skopírovali heslo, všetko sa uložilo do súboru `.jsonl` ako obyčajný text. Čím dlhšie taký súbor zostáva na disku, tým väčšia je pravdepodobnosť, že jedného dňa unikne.

Anthropic to hovorí priamo: prepisy môžu obsahovať zdrojový kód, prihlasovacie údaje a ďalší citlivý materiál a ich uchovávanie na disku dlhšie, než je potrebné, predstavuje skutočné riziko pre súkromie. Obdobie 30 dní bolo zvolené ako kompromis.

Námietky komunity sa týkajú troch vecí: vymazávanie prebieha potichu (pri nastavovaní ani spustení sa nezobrazuje upozornenie), nežiada sa súhlas (nikto sa vás nepýta) a neexistuje možnosť obnovy (nepoužíva sa Kôš a nie je možné vrátiť zmeny). V issue \#59248 vývojári žiadajú jednu vec: spravodlivejšie čistenie — upozornenie, obdobie na obnovu a menej agresívnu predvolenú lehotu.

## Prečo môže samotný zálohovací skript spustiť vymazávanie?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Čistenie rozhoduje o tom, čo vymazať, podľa času zmeny súboru (mtime). Nekontroluje skutočnú poslednú aktivitu v relácii. Každý proces, ktorý sa dotkne súboru `.jsonl` — synchronizácia do cloudu, rsync, editor či skript — môže zmeniť jeho mtime a spôsobiť, že čerstvá relácia bude vyzerať zastarano. Pri ďalšom spustení Claude Code reláciu vyhodnotí ako starú a vymaže ju. Paradoxne, naivný pokus zálohovať históriu v spravovanom priečinku urýchľuje jej stratu.

</div>

Toto je najzradnejšia časť a nachytá ľudí, ktorí sa pokúšajú chrániť svoje údaje sami. Čistenie sleduje mtime, časovú značku poslednej zmeny súboru. Predpokladá, že mtime odráža čas, keď ste v relácii naposledy pracovali. V praxi ho môže zmeniť čokoľvek: synchronizačný klient Dropboxu alebo iCloudu, `rsync`, antivírusový softvér, indexovací nástroj či váš vlastný zálohovací skript.

Tu je háčik. Rozhodnete sa uložiť históriu a nastavíte cloudovú synchronizáciu priečinka `~/.claude/projects/`. V určitom okamihu synchronizačná služba prepíše súbor a nastaví jeho mtime na skorší dátum (môže sa to stať pri obnove z kópie v cloude). Claude Code pri spustení uvidí „starý“ súbor a vymaže ho. Chceli ste ho zachrániť, ale urýchlili ste jeho vymazanie.

Z toho vyplýva jediný záver: **záloha musí byť mimo priečinka `~/.claude/projects/`**. Čistenie pôsobí iba v tomto priečinku. Kópia uložená mimo neho je mimo jeho dosahu. Riešenie postavím na tomto princípe.

## Ako môžete okamžite zastaviť vymazávanie histórie?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Stačí jedno nastavenie. Otvorte súbor `~/.claude/settings.json` a nastavte `cleanupPeriodDays` na vysokú hodnotu — napríklad `3650` (desať rokov). V praxi sa tým automatické vymazávanie vypne: nič nebude staršie než tento limit. Dôležité: toto nastavenie chráni len to, čo ešte nebolo vymazané. Históriu, ktorú už čistenie vymazalo, nie je možné obnoviť. Preto treba konať skôr, než prídete o ďalšiu reláciu.

</div>

Zastavte vymazávanie v troch krokoch:

1.  Otvorte súbor nastavení: `~/.claude/settings.json` (ak súbor neexistuje, vytvorte ho).
2.  Pridajte nastavenie `cleanupPeriodDays` s vysokou hodnotou:

```json
{
  "cleanupPeriodDays": 3650
}
```

3.  Uložte súbor. Nastavenie sa prejaví pri ďalšom spustení Claude Code.

Hodnota `3650` znamená desať rokov: v praxi sa už vymazávanie nebude vykonávať. Ak chcete čistenie zachovať, ale dopriať si viac času, nastavte hodnotu `365` (jeden rok); potom zmiznú len relácie staršie než rok. Pomocou tohto príkazu môžete skontrolovať, či sa nastavenie načítalo:

```bash
grep cleanupPeriodDays ~/.claude/settings.json
```

Jedna ľahko prehliadnuteľná výhrada: predĺženie lehoty NEOBNOVÍ to, čo už bolo vymazané. Čistenie sa spúšťa pri štarte a všetko, čo bolo vymazané pri predchádzajúcich spusteniach, je navždy preč. Preto to nastavte ako prvé — zabráni to budúcim stratám, ale nevráti to, čo už bolo vymazané. Ak sa chcete vyhnúť strate histórie Claude Code aj svojho projektu v dôsledku náhodného príkazu, pozrite si príručku [„Ako nakonfigurovať Claude Code, aby nepoškodil váš projekt“](https://ailoot.ai/blog/sk/claude-code-safe-overnight-setup/).

História vašich relácií je súčasťou druhého mozgu vášho projektu: obsahuje logiku rozhodnutí, ktorú ste nikde inde nezaznamenali. `cleanupPeriodDays` zachráni súbory, ale nepremení ich na systém, v ktorom o šesť mesiacov nájdete to, čo potrebujete.



## Ako automaticky archivovať históriu mimo čisteného priečinka?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Kopírujte relácie do archívu MIMO priečinka `~/.claude/projects/`, kde sa na ne čistenie nevzťahuje. Jednoduché spustenie `rsync -a` do samostatného adresára raz denne stačí: nové súbory sa pridajú a staré zostanú. Keďže archív je mimo tohto priečinka, neovplyvní ho ani `cleanupPeriodDays`, ani chyba s mtime. Spúšťanie automatizujte pomocou launchd (macOS) alebo cron (Linux) a história sa bude hromadiť sama.

</div>

Myšlienka je jednoduchá: nechajte Claude Code, nech si so svojím priečinkom robí, čo chce, a vy si uchovávajte samostatný archív mimo neho. Je chránený pred týmto čistením, no stále ho môže zničiť porucha disku, náhodné vymazanie či neúspešná kópia. Nastavte to takto:

1.  Vytvorte archívny priečinok mimo spravovaného adresára:

```bash
mkdir -p ~/claude-history-archive
```

2.  Skopírujte tam svoju súčasnú históriu. Príznak `-a` zachováva štruktúru a časové značky; `--ignore-existing` ponechá už skopírované súbory nedotknuté:

```bash
rsync -a ~/.claude/projects/ ~/claude-history-archive/
```

3.  Automatizujte spúšťanie raz denne. V macOS použite launchd. Vytvorte súbor `~/Library/LaunchAgents/com.example.claudearchive.plist`:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.example.claudearchive</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/bin/rsync</string>
    <string>-a</string>
    <string>/Users/YOUR_NAME/.claude/projects/</string>
    <string>/Users/YOUR_NAME/claude-history-archive/</string>
  </array>
  <key>StartInterval</key>
  <integer>86400</integer>
</dict>
</plist>
```

4.  Načítajte agenta, aby bežal na pozadí:

```bash
launchctl load ~/Library/LaunchAgents/com.example.claudearchive.plist
```

V Linuxe sa to isté nastaví jedným riadkom v crontabe (`crontab -e`):

```bash
0 3 * * * rsync -a ~/.claude/projects/ ~/claude-history-archive/
```

Prečo to funguje, keď synchronizácia z predchádzajúcej časti zlyháva? Archív je MIMO priečinka `~/.claude/projects/`, takže ho čistenie vôbec nevidí. Kopírovanie prebieha jedným smerom (z aktívneho priečinka do archívu) a mtime aktívnych súborov sa nemení — chyba s mtime sa teda neprejaví. Aj keď Claude Code zajtra vymaže reláciu zo svojho priečinka, jej kópia zostane v archíve.

## Ako môžete z archívu relácií vytvoriť vyhľadávateľný druhý mozog?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Uložte archív pod správu systému git a získate verzovanú, plne prehľadávateľnú databázu všetkých svojich relácií. Spustite `git init` v priečinku archívu a potom každý deň `git add -A && git commit`, aby ste získali históriu zmien a ochranu pred náhodným prepísaním. Minulé relácie môžete vyhľadávať bežným grepom a štruktúrovaný obsah získavať pomocou jq, pretože `.jsonl` je JSON oddelený po riadkoch. Archív sa tak zmení na praktický nástroj.

</div>

Samotné zhromažďovanie súborov nestačí — potrebujete k nim mať prístup. Dva kroky zmenia archív na funkčný nástroj.

Najprv ho verzujte pomocou git. Inicializujte repozitár v priečinku archívu:

```bash
cd ~/claude-history-archive
git init
git add -A && git commit -m "Prvá snímka histórie Claude Code"
```

Pridajte `git add -A && git commit` do toho istého každodenného spustenia ako rsync. Teraz máte históriu verzií: môžete vidieť, čo a kedy pribudlo, a jedným príkazom vrátiť náhodné prepísanie.

Po druhé, vyhľadávajte. Súbory `.jsonl` obsahujú JSON oddelený po riadkoch, takže na nich môžete používať známe nástroje. Nájdite, v ktorej relácii sa diskutovalo o konkrétnej téme:

```bash
grep -rl "migrácia databázy" ~/claude-history-archive/
```

Z relácie vyťažte iba text svojich výziev (pomocou jq, keďže ide o JSON):

```bash
jq -r 'select(.type=="user") | .message.content' session.jsonl
```

V tejto chvíli začne história vašich relácií fungovať ako druhý mozog projektu: databáza, v ktorej v priebehu pár sekúnd zistíte, „ako sme o tom rozhodli v marci“. Samostatný rozbor toho, kam v relácii smeruje kontext a ako ho spravovať, nájdete v príručke [„Kam smerujú tokeny v Claude Code“](https://ailoot.ai/blog/sk/where-claude-code-tokens-go/).

## Môžete obnoviť relácie, ktoré už boli vymazané?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Neexistuje vstavaný spôsob. Claude Code nepresúva vymazané súbory do Koša ani neuchováva možnosť návratu; súbor je navždy preč. Jedinou šancou sú externé kópie vytvorené PRED vymazaním: snímka Time Machine v macOS, história verzií OneDrive alebo Dropboxu či ručná záloha. Ak nič z toho neexistuje, relácia sa stratila. Preto treba ochranu nastaviť vopred — skôr, než bude čo stratiť.

</div>

Úprimná odpoveď: pravdepodobne nie. Claude Code nemá funkciu obnovy, Kôš ani denník vrátenia zmien pre vymazané prepisy. Súbor jednoducho zmizne z disku.

Je tu jedna možnosť: zálohy systému, ak boli vopred zapnuté:

1.  **macOS Time Machine** — ak snímka zachytila priečinok `~/.claude/projects/` pred vymazaním, môžete súbor obnoviť zo zálohy k požadovanému dátumu.
2.  **História verzií OneDrive / Dropboxu** — ak sa priečinok synchronizoval so zapnutou históriou verzií, vyhľadajte súbor v histórii verzií cloudu (nezabudnite však na pascu s mtime: synchronizácia mohla vymazanie aj spustiť).
3.  **Ručné kópie** — akékoľvek `rsync`/`cp`, ktoré ste ručne spustili do umiestnenia mimo spravovaného priečinka.

Ak nič z toho neexistovalo, relácia je preč. A nie je to nič výnimočné: jeden autor hlásenia chyby v repozitári Anthropic mal poškodených 26 z 38 záznamov, čo predstavovalo mesiace práce. Jedinou spoľahlivou ochranou je tá, ktorá bola zavedená PRED stratou. Nastavte `cleanupPeriodDays` a automatické archivovanie ešte dnes, kým je stále čo zachraňovať.

## Akú hodnotu nastaviť pre cleanupPeriodDays?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Väčšina ľudí by mala použiť `3650` (desať rokov, čím sa vymazávanie prakticky vypne) a pridať externý automatický archív. Predvolenú hodnotu `30` ponechajte iba vtedy, ak históriu nepotrebujete a dôležitejšie je neuchovávať tajomstvá na disku. Hodnota `365` je rozumným kompromisom s každoročným čistením. Ďalšou možnosťou je neukladať históriu vôbec: použite premennú prostredia `CLAUDE_CODE_SKIP_PROMPT_HISTORY` alebo príznak `--no-session-persistence`, slúži to však na opačný účel.

</div>

Je tu jedno nastavenie, ale môže znamenať viacero vecí. Porovnajte možnosti a vyberte si podľa svojho spôsobu používania:

| Hodnota | Čo robí | Pre koho sa hodí |
|----|----|----|
| `30` (predvolená) | Pri spustení vymaže relácie staršie ako 30 dní | Nepotrebujete históriu; dôležitejšie je neukladať citlivé údaje na disk |
| `365` | Uchováva ročnú históriu a potom ju raz ročne vyčistí | Potrebujete nedávnu históriu, ale nie neobmedzený archív |
| `3650` | Prakticky vypne vymazávanie | Chcete uchovať všetko + externý archív (odporúča sa) |
| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Vôbec neukladá históriu na disk | Maximálne súkromie; históriu vôbec nepotrebujete |

Dôležitá bezpečnostná výhrada: ak nastavíte `3650` a uchováte všetko, súhlasíte s ukladaním prepisov, ktoré môžu obsahovať kľúče a kód, na disk. Je to vedomý kompromis: pohodlie archívu oproti riziku. Riziko minimalizujte: uchovávajte archív na šifrovanom disku (FileVault v macOS), neukladajte ho do verejného cloudu a neodovzdávajte ho do verejného repozitára git. Pripravil som samostatnú príručku o tom, aké údaje môžu uniknúť cez Claude Code: [„Zabezpečenie údajov v Claude Code“](https://ailoot.ai/blog/sk/claude-code-data-access-safety/).

## Čo urobiť dnes: kontrolný zoznam

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Kľúčové poznatky">

Kľúčové poznatky

Tieto kroky znižujú straty histórie: predĺžte uchovávanie cez `cleanupPeriodDays: 3650`, kopírujte relácie mimo `~/.claude/projects/` a archív verzujte. Pred čistením Claude Code sú chránené iba úspešne skopírované súbory. Pri úspešných denných behoch zostáva nearchivovaný až deň nedávnych zmien; neúspešné či vynechané behy medzeru predĺžia. Kópia na rovnakom disku nechráni pred poruchou disku.

</div>

Ochranu nastavte krok za krokom:

1.  Nastavte `cleanupPeriodDays: 3650` v súbore `~/.claude/settings.json` — predĺžili ste dobu uchovávania.
2.  Vytvorte priečinok `~/claude-history-archive` mimo spravovaného priečinka a prvýkrát spustite `rsync -a`.
3.  Naplánujte každodenné spúšťanie pomocou launchd (macOS) alebo cron (Linux).
4.  Inicializujte git v archíve a pridajte `git add -A && git commit` do toho istého spustenia.
5.  Skontrolujte, že je archív na šifrovanom disku a nesynchronizuje sa s verejným cloudom.
6.  Overte úspešnú kópiu každého plánovaného behu, prezrite nedávnu archivovanú reláciu a pravidelne obnovte vzorku do samostatného dočasného priečinka na kontrolu čitateľnosti.
7.  Ak potrebujete ochranu pred stratou zariadenia či disku, uchovávajte aj nezávisle uloženú zálohu s primeraným prístupom a otestujte jej obnovu. História Gitu na tom istom disku nie je nezávislá záloha.

História relácií je len jednou vrstvou kontextu, vďaka ktorej je Claude spoľahlivý.

<div class="section" role="doc-bibliography" aria-label="Zdroje">

### Zdroje

- [Dokumentácia Claude Code - Nastavenia settings.json (cleanupPeriodDays)](https://code.claude.com/docs/en/settings)
- [Dokumentácia Claude Code - Čo je nové](https://code.claude.com/docs/en/whats-new)

</div>





Spoznajte [Ailoot](https://ailoot.ai/).

## Otázky a odpovede: Claude Code vymazáva históriu po 30 dňoch: ako si ju uložiť

### Zaručuje denný archív, že sa žiadna relácia nestratí?

Nie. Pred čistením spravovaného priečinka chráni úspešne skopírované súbory. Pri úspešných denných behoch môže chýbať až deň nedávnych zmien; neúspešné behy medzeru zväčšia a kópia na rovnakom disku môže zlyhať spolu s originálom.

### Ako overiť použiteľnosť archívu?

Potvrďte úspešné plánované kópie, prezrite nedávnu archivovanú reláciu a pravidelne obnovte vzorku do samostatného dočasného priečinka. Pre ochranu pred stratou zariadenia či disku otestujte aj zálohu uloženú nezávisle od originálu.


## Ailoot · Spoločnosť a jej portfólio projektov

Ailoot stavia na dlhodobých prevádzkových skúsenostiach, širokej klientskej základni, stabilných službách a priebežnom sledovaní KPI.

Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.

Ailoot využíva tieto prevádzkové skúsenosti na poskytovanie prístupu cez API k funkciám AI v produktoch zákazníkov, agentoch, aplikáciách a automatizáciách.
