Agent mění soubory doopravdy, a někdy změní něco jiného, než měl. Ne proto, že by se pokazil - jen úkol pochopil jinak, než jste zamýšleli. Dobrá zpráva: snímky kódu si Claude Code pořizuje sám, bez vaší účasti, a nepovedený pokus se vrátí zpět na pár stisknutí kláves.

Horší zpráva: tyto snímky mají hranici. Všechno, co agent zapíše do souborů, se odehrává uvnitř hlídaného perimetru, a odtamtud se to dá vrátit. Všechno, co jde mimo něj, zůstává za plotem: snímky to neviděly a nevrátí to. Kde přesně plot vede, je lepší znát předem, ne až ve chvíli, kdy něco zmizí.

Dál se podíváme na to, jak návrat zpět funguje, kde vede jeho plot, jak dlouho vydrží a čím pokrýt to, co zůstalo za plotem.

Co je to checkpoint

Checkpoint je snímek souborů, které se agent chystá upravit, pořízený předtím, než se jich dotkl. Není to záloha projektu ani záznam do historie verzí, ale pracovní bod návratu uvnitř aktuální session - tedy uvnitř vaší konverzace s agentem.

Hlavní důvod, proč tuhle sekci číst: snímek se pořizuje automaticky před každou vaší zprávou. Nevytváříte ho, nenastavujete a nemůžete zapomenout ho stisknout. Odeslali jste zprávu - bod už existuje.

  • Vaše zpráva
  • Snímek kódu
  • Úpravy agenta
  • Nová zpráva
  • Nový snímek

Všimněte si pořadí: nejdřív snímek, pak úpravy. Právě proto návrat k bodu znamená "vrať kód do stavu, v jakém byl před touto zprávou". Nevybíráte okamžik v čase, ale konkrétní vlastní zprávu, po které se má všechno vrátit zpět.

A ještě jedno upřesnění, aby bylo dál jasněji. Checkpoint se týká kódu. Claude Code umí vrátit zpět i konverzaci, ale to je samostatná volba v menu: kód a konverzace se vrací buď dohromady, nebo zvlášť, podle toho, co zvolíte.

Jak otevřít menu pro návrat zpět

Vedou tam dvě cesty a dělají přesně totéž:

  • příkaz /rewind na příkazovém řádku. Má i známé aliasy /undo a /checkpoint;
  • klávesy Esc Esc, pokud je příkazový řádek prázdný.
Pokud se menu neotevřelo

Nejspíš byl na řádku ještě text. V tom případě první Esc Esc jen smaže napsané a menu se neukáže. Text přitom nezmizí: putuje do historie vstupu a šipka nahoru ho vrátí. Stiskněte Esc Esc ještě jednou na už prázdném řádku a menu se otevře.

Otevře se seznam vašich zpráv z této session. Ne seznam souborů a ne časová osa - přímo zprávy, jeden řádek pro každou, kterou jste poslali. Vyberete tu, po které se to celé zvrtlo.

Zvláštní případ: pokud jste dřív v téhle stejné běžící session agenta použili /clear, v novějších verzích se nahoře seznamu objeví ještě jeden řádek navíc. Vrátí vás ke konverzaci, která běžela před vyčištěním. Vyčištění, jak vidíte, nic nespaluje.

Co menu nabízí

Vybrali jste bod - agent se zeptá, co přesně s ním udělat. Na výběr je šest možností:

Položka menuCo dělá
Restore code and conversationvrátí kód i konverzaci k vybranému bodu
Restore conversationvrátí jen konverzaci, soubory nechá tak, jak jsou
Restore codevrátí jen soubory, konverzaci nechá tak, jak je
Summarize from hereod tohoto bodu dál sbalí konverzaci do stručného shrnutí
Summarize up to heresbalí konverzaci do tohoto bodu, zbytek nechá tak, jak je
Never mindzavře menu, aniž by cokoliv udělal

První věc, kterou je dobré o téhle tabulce vědět: obsah menu se mění. Obě položky o kódu se objeví jen tehdy, když agent po vybraném bodě soubory opravdu měnil. Neměnil - není co vracet, a tyhle řádky se prostě nezobrazí. Takže když se v menu objeví čtyři položky místo šesti, program máte pořád ten samý.

Dva řádky Summarize stojí stranou. Nepracují s kódem, ale s délkou konverzace: sbalí její kus do stručného shrnutí. K souborům na disku se vůbec nedostanou. K čemu to bývá potřeba, je samostatné a obsáhlé téma - tady stačí vědět, že tohle není návrat zpět a kód se takhle nevrátí.

A drobnost, která šetří nervy. Po vrácení konverzace se text té samé zprávy objeví zpátky na příkazovém řádku. Nemusíte si vzpomínat, co jste psali, a psát to znovu - stačí upravit formulaci a odeslat znovu.

Co návrat zpět vrátí a co ne

Ve své zóně je návrat zpět spolehlivý. Vrací dvě věci: úpravy souborů, které agent provedl svými editačními nástroji, a historii konverzace v této session.

A tady je to, co zůstává za plotem.

  • Změny provedené příkazy v terminálu. Agent umí nejen upravovat soubory, ale i spouštět příkazy. Pokud jste soubor smazali příkazem rm, přesunuli nebo přepsali kopírováním, snímek to neviděl a nevrátí to.
  • Změny mimo agenta. Soubory, kterých se agent v této session ani nedotkl, návrat zpět vůbec neřeší: upravili jste je sami v editoru, přepsal je jiný program, běžela vedle druhá session - to všechno zůstává tak, jak je, a přes menu to vrátit ani zrušit nelze. Pokud jste ale ručně upravili soubor, který agent taky editoval, obnovení kódu ho vrátí ke snímku celý - včetně vaší úpravy.
  • Úpravy subagentů. Pokud agent svěřil část práce pomocnému subagentovi, jeho úpravy se do snímků obvykle nedostanou a návrat zpět je nevrátí. Ty se vracejí přes git.
  • Vzácný případ symlinků. Takové soubory návrat zpět přeskočí a poctivě to napíše na samostatném řádku. Když na to narazíte, poradíte si - dopředu se na to připravovat nemusíte.
Úprava souboru a příkaz v terminálu jsou různé věci

Zvenku je ten rozdíl skoro neviditelný. Agent hlásí stejně klidně, ať už soubor upravil, nebo spustil příkaz, který ho smazal. Pro vás jsou to dvě podobné zprávy na obrazovce, pro návrat zpět jsou to ale zásadně různé události: první vrátí, druhou ne.

Proto si žádost o spuštění příkazu, který něco maže, přesouvá nebo přepisuje, zaslouží pozornější čtení než žádost o běžnou úpravu. Právě tady už žádná pojistka za vámi není.

Ve zkratce: návrat zpět sleduje to, co agent zapisuje do souborů, ne všechno, co se děje na vašem počítači.

Jak dlouho návrat zpět vydrží

Snímky se nehromadí donekonečna. Samotné body jsou v menu vypsané všechny, ale snímky souborů se uchovávají jen pro posledních sto z nich: na jednu konverzaci je to hodně, ale ne neomezeně, a staré se postupně vytlačují.

Zato body nejsou vázané na otevřené okno terminálu. Ukládají se spolu se session, takže terminál můžete zavřít, vrátit se zítra, pokračovat ve stejné konverzaci - a menu pro návrat zpět bude fungovat, jako by se nic nestalo.

Ani tohle ale netrvá navždy. Session a snímky k nim se automaticky mažou zhruba po měsíci, a tato lhůta se dá podle potřeby nastavit.

Z toho plyne jednoduchý závěr: návrat zpět se hodí na horizont jednoho úkolu - minuty, hodiny, jedna konverzace s agentem. Jako úložiště historie projektu navržený není, a to není nedostatek, jen jiná role. Co pokrývá delší časové úseky, rozebereme dál.

Čtyři pojistky a každá dělá něco jiného

Undo, snímek, kopie složky a historie verzí nejsou čtyři názvy pro jednu a tu samou věc. Pokrývají různé časové úseky a různé typy ztrát.

PojistkaKdo ji vytváříCo ukládáJak dlouho vydržíKde je bezmocná
Undo v editoruvy, stisknutímvaše poslední úpravy v otevřeném souborukrátce, záleží na editoruúpravy najednou ve víc souborech, a obvykle i to, co se zapíše na disk mimo editor
CheckpointClaude Code, sámkód před každou vaší zprávouspolu se session, sto bodůpříkazy v terminálu, změny mimo agenta
Kopie složkyvy, ručněcelý projekt v okamžiku kopírovánídokud ji nesmažeteneukazuje, co se změnilo, a zahlcuje disk
Historie verzí, gitvy, vědomým krokemstavy projektu jeden za druhýmspolu s projektemto, co jste do ní nestihli zapsat

Pojistku vybíráte nejdřív podle rozsahu pokrytí, a teprve pak podle délky. Pokud Claude mění běžné soubory svými editačními nástroji a nezasahuje nic mimo session, checkpoint dobře pokryje pětiminutový experiment. Pokud práce zahrnuje příkazy v terminálu nebo vnější změny, samotný checkpoint nestačí bez ohledu na to, jak krátký úkol je. A teprve mezi pojistkami, které svým pokrytím vyhovují, se dívejte na dobu trvání: několik dní práce nebo důležitý milník si žádá mechanismus, který nezávisí na konverzaci s agentem.

O kopii složky je fér říct rovnou. Jako jednorázové opatření před něčím riskantním funguje: zkopírovali jste, šli něco rozbít, nevyšlo to - vrátili jste se zpátky. Jako systém ale nefunguje. Za týden máte několik skoro identických složek a nikdo si nepamatuje, která je ta aktuální.

Poslední řádek je jediný, který umí zároveň dlouho uchovávat stavy a ukazovat, co přesně se mezi nimi změnilo. To je git, a je to samostatné velké téma: vlastní nástroj, vlastní sada příkazů, sem se pouštět nebudeme. Stačí chápat jeho místo v tabulce - nejdelší horizont a jediná ochrana proti tomu, co návrat zpět nepokrývá.

Jak to mění způsob práce

Nejde jen o sadu tlačítek. Tady je, co z návratu zpět plyne v praxi:

  • snímek se dělá sám, ale skoro nic nestojí jen experiment s běžnými soubory přes editační nástroje Claude. Pokud budou potřeba příkazy v terminálu nebo změny mimo session, zvolte nejdřív jinou pojistku;
  • agent se nevrací sám od sebe. Může říct, že se vydal špatným směrem, ale menu otevíráte a volbu děláte vy;
  • žádost o spuštění příkazu v terminálu je jiný druh akce než úprava souboru. To první návrat zpět nepokryje, to druhé ano. Rozdíl je vidět jen v textu požadavku, a proto se ho vyplatí číst;
  • čím větší krok, tím menší je přínos návratu zpět. Vrátit se dá, ale pochopit z jediného menu, co přesně se vrátilo, je tím těžší, čím víc toho agent stihl udělat. Malé kroky vyhrávají i tady;
  • návrat zpět a historie verzí si nekonkurují. První pokrývá minuty a hodiny v rámci jedné konverzace, druhá dny, týdny a milníky projektu.
Minuta před velkou úpravou

Před opravdu riskantním pokusem se vyplatí věnovat minutu a zachytit stav něčím, co přežije session. Hned teď máte po ruce kopii složky - jako jednorázové opatření před rizikem funguje poctivě.

Ale skutečný nástroj na tohle je git. Uchovává stavy tak dlouho, jak chcete, ukazuje, co přesně se mezi nimi změnilo, a nezahlcuje disk skoro identickými složkami. Jak s ním pracovat, rozebereme zvlášť: téma je velké a zaslouží si vlastní konverzaci. Zvyk zastavit se na minutu před rizikem se vám ale bude hodit s ním i zatím bez něj.

A menu pro návrat zpět nechte na rychlé experimenty: v roli poslední záchrany funguje citelně hůř než v roli běžného každodenního nástroje.


Obsah menu pro návrat zpět a doba uchovávání závisí na verzi Claude Code a nastavení, takže u vás se mohou lišit od toho, co je popsané tady. Co nabízí vaše verze, vždy ukáže samotné menu.