Ιστολόγιο

Το Claude Code διαγράφει το ιστορικό μετά από 30 ημέρες: πώς να το αποθηκεύσετε

Markdown

Πού αποθηκεύονται οι συνεδρίες του Claude Code, πώς να ρυθμίσετε το cleanupPeriodDays και πώς να οργανώσετε ένα εξωτερικό αρχείο χρησιμοποιώντας rsync, launchd ή cron.

Διαβάστε ολόκληρο το άρθρο

Για βοήθεια στη χρήση της υπηρεσίας, ανατρέξτε στην τεκμηρίωση του Ailoot.

Διαγράφει πράγματι το Claude Code το ιστορικό των συνεδριών σας;

Κύριο συμπέρασμα

Ναι. Κάθε φορά που ξεκινά το Claude Code, διαγράφει αρχεία συνεδριών παλαιότερα των 30 ημερών. Υπεύθυνη γι’ αυτό είναι η ρύθμιση cleanupPeriodDays στο ~/.claude/settings.json· η προεπιλεγμένη τιμή της είναι 30. Η διαγραφή γίνεται χωρίς προειδοποίηση, χωρίς να ζητείται συγκατάθεση και χωρίς δυνατότητα ανάκτησης των αρχείων.

Ανοίγετε το Claude Code για να επιστρέψετε σε μια συνεδρία από δύο μήνες πριν—και έχει εξαφανιστεί. Το αρχείο έχει διαγραφεί εντελώς από τον δίσκο. Δεν πρόκειται για δυσλειτουργία ή σπάνιο σφάλμα: έτσι λειτουργεί ο προεπιλεγμένος μηχανισμός εκκαθάρισης.

Μία ρύθμιση ελέγχει την εκκαθάριση: cleanupPeriodDays. Η προεπιλεγμένη τιμή της είναι 30. Κάθε φορά που ξεκινά το Claude Code, σαρώνει τον φάκελο ιστορικού και διαγράφει όλα τα αρχεία που είναι παλαιότερα από αυτό το διάστημα. Δεν είχα καθόλου αυτή τη ρύθμιση στο ~/.claude/settings.json, πράγμα που σήμαινε ότι ίσχυε η προεπιλεγμένη τιμή και ορισμένες παλαιότερες συνεδρίες μου είχαν ήδη χαθεί.

Υπάρχουν αρκετές ανοιχτές αναφορές σφάλματος γι’ αυτό στο αποθετήριο της Anthropic και καμία δεν έχει διορθωθεί.

Πού αποθηκεύει το Claude Code το ιστορικό των συνεδριών;

Κύριο συμπέρασμα

Το ιστορικό κάθε συνεδρίας αποθηκεύεται στο ~/.claude/projects/<project-path>/<session-id>.jsonl. Το όνομα του φακέλου είναι η απόλυτη διαδρομή του καταλόγου εργασίας από τον οποίο εκτελέσατε το Claude Code, με τις κάθετες να έχουν αντικατασταθεί από παύλες. Το αρχείο .jsonl περιέχει ολόκληρη τη συνομιλία, μία γραμμή τη φορά: τις προτροπές σας, τις απαντήσεις του μοντέλου, τις κλήσεις εργαλείων και τις επεξεργασίες αρχείων. Αυτή είναι ακριβώς η μνήμη που διαγράφει η εκκαθάριση.

Είναι εύκολο να βρείτε το ιστορικό σας. Ανοίξτε ένα τερματικό και δείτε τα περιεχόμενα του φακέλου:

ls ~/.claude/projects/

Κάθε υποφάκελος είναι ξεχωριστό έργο. Το όνομά του κωδικοποιεί τη διαδρομή: για παράδειγμα, ένα έργο στο /Users/alex/dev/shop γίνεται ο φάκελος -Users-alex-dev-shop. Στο εσωτερικό βρίσκονται τα αρχεία συνεδριών:

ls -lt ~/.claude/projects/-Users-alex-dev-shop/
# 3f8a1c2e-....jsonl   ← one session = one file
# a91b7d40-....jsonl

Κάθε .jsonl είναι ένα αρχείο καταγραφής γραμμή προς γραμμή: μία γραμμή ισούται με ένα συμβάν συνεδρίας. Περιέχει περισσότερα από το κείμενο της συνομιλίας. Περιλαμβάνει τη λογική πίσω από τις αποφάσεις σας: γιατί επιλέξατε μια συγκεκριμένη δομή βάσης δεδομένων, ποιες επιλογές απορρίψατε, πού έκανε λάθος το Claude και πώς το διορθώσατε.

Στην ουσία, είναι ημερολόγιο ανάπτυξης έργου. Γι’ αυτό πονάει η απώλειά του: δεν χάνετε μια «συνομιλία», αλλά το πλαίσιο που έχετε χτίσει επί εβδομάδες. Έχω καλύψει τη δομή αυτού του πλαισίου στον οδηγό «Μνήμη Claude έναντι CLAUDE.md».

Γιατί διαγράφει η Anthropic τις απομαγνητοφωνήσεις μετά από 30 ημέρες;

Κύριο συμπέρασμα

Η θέση της Anthropic αφορά το απόρρητο και την ασφάλεια. Τα αρχεία συνεδριών αποθηκεύονται στον δίσκο ως απλό κείμενο και μπορεί να περιέχουν πηγαίο κώδικα, κωδικούς πρόσβασης και κλειδιά API. Η διατήρησή τους για πάντα ενέχει κίνδυνο: αν κλαπεί ένας φορητός υπολογιστής ή κάποιος αποκτήσει πρόσβαση στον δίσκο, αποκτά όλα αυτά τα ευαίσθητα δεδομένα. Το διάστημα των 30 ημερών αποτελεί την ισορροπία τους ανάμεσα στην «επανάληψη πρόσφατης εργασίας» και στο «να μη διατηρούνται μυστικά στον δίσκο περισσότερο απ’ όσο χρειάζεται».

Υπάρχει λόγος για τη διαγραφή και αξίζει να τον κατανοήσετε προτού απενεργοποιήσετε πλήρως την εκκαθάριση. Μια απομαγνητοφώνηση είναι απλό κείμενο. Αν το Claude διάβασε ένα αρχείο .env κατά τη διάρκεια μιας συνεδρίας, εισήγαγε ένα κλειδί σε μια εντολή ή επικολλήσατε έναν κωδικό πρόσβασης σε μια προτροπή, όλα αυτά καταγράφηκαν στο .jsonl ως απλό κείμενο. Όσο περισσότερο παραμένει ένα τέτοιο αρχείο στον δίσκο, τόσο αυξάνεται η πιθανότητα να διαρρεύσει κάποια μέρα.

Η Anthropic το διατυπώνει ξεκάθαρα: οι απομαγνητοφωνήσεις μπορεί να περιέχουν πηγαίο κώδικα, διαπιστευτήρια και άλλο ευαίσθητο υλικό, ενώ η διατήρησή τους στον δίσκο περισσότερο απ’ όσο χρειάζεται δημιουργεί πραγματικό κίνδυνο για το απόρρητο. Το διάστημα των 30 ημερών επιλέχθηκε ως συμβιβασμός.

Οι αντιρρήσεις της κοινότητας αφορούν τρία πράγματα: η διαγραφή είναι αθόρυβη (δεν υπάρχει προειδοποίηση κατά τη ρύθμιση ή κατά την εκκίνηση), δεν ζητείται συγκατάθεση (δεν ερωτάστε) και δεν υπάρχει ανάκτηση (δεν χρησιμοποιείται ο Κάδος και δεν υπάρχει επαναφορά). Στο ζήτημα #59248, οι προγραμματιστές ζητούν ένα πράγμα: να γίνει δίκαιη η εκκαθάριση—να παρέχονται προειδοποίηση, περίοδος ανάκτησης και λιγότερο επιθετική προεπιλεγμένη περίοδος.

Γιατί μπορεί ένα εφεδρικό αντίγραφο να προκαλέσει το ίδιο την εκκαθάριση;

Κύριο συμπέρασμα

Η εκκαθάριση αποφασίζει τι θα διαγράψει με βάση τον χρόνο τροποποίησης του αρχείου (mtime). Δεν ελέγχει την πραγματική τελευταία δραστηριότητα σε μια συνεδρία. Κάθε διεργασία που αγγίζει ένα αρχείο .jsonl—συγχρονισμός στο cloud, rsync, επεξεργαστής, σενάριο—μπορεί να αλλάξει το mtime, κάνοντας μια πρόσφατη συνεδρία να φαίνεται παλιά. Στην επόμενη εκκίνηση του Claude Code, η συνεδρία θα θεωρηθεί παλιά και θα διαγραφεί. Το παράδοξο: μια απλοϊκή προσπάθεια δημιουργίας αντιγράφου ασφαλείας του ιστορικού μέσα στον διαχειριζόμενο φάκελο επιταχύνει την απώλειά του.

Αυτό είναι το πιο δύσκολο σημείο και παγιδεύει όσους προσπαθούν να προστατεύσουν μόνοι τους τα δεδομένα τους. Η εκκαθάριση εξετάζει το mtime, τη χρονική σήμανση της τελευταίας τροποποίησης του αρχείου. Υποθέτει ότι το mtime αντικατοπτρίζει την τελευταία φορά που εργαστήκατε στη συνεδρία. Στην πράξη, οτιδήποτε μπορεί να αλλάξει το mtime: ένα πρόγραμμα συγχρονισμού Dropbox ή iCloud, το rsync, λογισμικό προστασίας από ιούς, ένα πρόγραμμα ευρετηρίασης ή το δικό σας σενάριο δημιουργίας αντιγράφων ασφαλείας.

Εδώ βρίσκεται η παγίδα. Αποφασίζετε να αποθηκεύσετε το ιστορικό σας και ρυθμίζετε συγχρονισμό cloud για το ~/.claude/projects/. Κάποια στιγμή, η υπηρεσία συγχρονισμού ξαναγράφει ένα αρχείο και ορίζει το mtime του σε παλαιότερη ημερομηνία (αυτό μπορεί να συμβεί κατά την επαναφορά από αντίγραφο στο cloud). Το Claude Code βλέπει ένα «παλιό» αρχείο κατά την εκκίνηση και το διαγράφει. Θέλατε να το σώσετε, αλλά επιταχύνατε τη διαγραφή του.

Υπάρχει μόνο ένα συμπέρασμα: το αντίγραφο ασφαλείας πρέπει να βρίσκεται έξω από το ~/.claude/projects/. Η εκκαθάριση δρα μόνο μέσα σε αυτόν τον φάκελο. Ένα αντίγραφο αποθηκευμένο έξω από αυτόν είναι πέρα από την εμβέλειά της. Θα βασίσω τη λύση σε αυτή την αρχή.

Πώς μπορείτε να σταματήσετε τώρα τη διαγραφή του ιστορικού;

Κύριο συμπέρασμα

Μία ρύθμιση. Ανοίξτε το ~/.claude/settings.json και ορίστε το cleanupPeriodDays σε έναν μεγάλο αριθμό—για παράδειγμα, 3650 (δέκα χρόνια). Στην πράξη, αυτό απενεργοποιεί τη διαγραφή: τίποτα δεν θα είναι παλαιότερο από το όριο. Σημαντικό: αυτή η ρύθμιση προστατεύει μόνο ό,τι δεν έχει ακόμη διαγραφεί. Το ιστορικό που έχει ήδη σβηστεί από την εκκαθάριση δεν μπορεί να αποκατασταθεί. Επομένως, το πρώτο βήμα είναι να δράσετε προτού χάσετε άλλη μία συνεδρία.

Σταματήστε τη διαγραφή σε τρία βήματα:

  1. Ανοίξτε το αρχείο ρυθμίσεων: ~/.claude/settings.json (αν το αρχείο δεν υπάρχει, δημιουργήστε το).
  2. Προσθέστε τη ρύθμιση cleanupPeriodDays με μεγάλη τιμή:
{
  "cleanupPeriodDays": 3650
}
  1. Αποθηκεύστε το αρχείο. Η ρύθμιση θα τεθεί σε ισχύ την επόμενη φορά που θα ξεκινήσει το Claude Code.

Η τιμή 3650 σημαίνει δέκα χρόνια: στην πράξη, η διαγραφή δεν θα γίνεται πλέον. Αν θέλετε να διατηρήσετε την εκκαθάριση αλλά να δώσετε περισσότερο χρόνο, ορίστε 365 (ένα έτος)· τότε θα εξαφανίζονται μόνο οι συνεδρίες παλαιότερες του ενός έτους. Μπορείτε να ελέγξετε αν εφαρμόστηκε η ρύθμιση με αυτή την εντολή:

grep cleanupPeriodDays ~/.claude/settings.json

Μια επιφύλαξη που εύκολα παραβλέπεται: η παράταση της περιόδου ΔΕΝ αποκαθιστά όσα έχουν ήδη διαγραφεί. Η εκκαθάριση εκτελείται κατά την εκκίνηση και ό,τι σβήστηκε σε προηγούμενες εκτελέσεις έχει χαθεί οριστικά. Γι’ αυτό πρέπει να το ορίσετε πρώτο—αποτρέπει μελλοντικές απώλειες, αλλά δεν επαναφέρει όσα έχουν ήδη διαγραφεί. Αν θέλετε να αποφύγετε την απώλεια του ιστορικού Claude Code, καθώς και του έργου σας από μια τυχαία εντολή, δείτε τον οδηγό «Πώς να ρυθμίσετε το Claude Code ώστε να μην καταστρέψει το έργο σας».

Το ιστορικό των συνεδριών σας είναι μέρος του δεύτερου εγκεφάλου του έργου σας: περιέχει λογική αποφάσεων που δεν έχετε καταγράψει πουθενά αλλού. Το cleanupPeriodDays σώζει τα αρχεία, αλλά δεν τα μετατρέπει σε σύστημα που σας επιτρέπει να ανακτήσετε ό,τι χρειάζεστε σε έξι μήνες.

Πώς αρχειοθετείτε αυτόματα το ιστορικό έξω από τον φάκελο εκκαθάρισης;

Κύριο συμπέρασμα

Αντιγράψτε τις συνεδρίες σε ένα αρχείο έξω από το ~/.claude/projects/, όπου δεν εφαρμόζεται η εκκαθάριση. Ένα απλό rsync -a προς ξεχωριστό κατάλογο μία φορά την ημέρα αρκεί: προστίθενται νέα αρχεία και τα παλιά παραμένουν. Επειδή το αρχείο βρίσκεται έξω, ούτε το cleanupPeriodDays ούτε το σφάλμα mtime το επηρεάζουν. Αυτοματοποιήστε την εκτέλεση με launchd (macOS) ή cron (Linux) και το ιστορικό σας θα συσσωρεύεται από μόνο του.

Η ιδέα είναι απλή: αφήστε το Claude Code να κάνει ό,τι θέλει με τον φάκελό του, ενώ εσείς διατηρείτε ξεχωριστό αρχείο έξω από αυτόν. Προστατεύεται από εκείνον τον μηχανισμό εκκαθάρισης, αλλά μπορεί ακόμη να χαθεί από βλάβη δίσκου, ακούσια διαγραφή ή αποτυχημένη αντιγραφή. Ρυθμίστε το ως εξής:

  1. Δημιουργήστε έναν φάκελο αρχειοθέτησης έξω από τον διαχειριζόμενο κατάλογο:
mkdir -p ~/claude-history-archive
  1. Αντιγράψτε εκεί το τρέχον ιστορικό σας. Η σημαία -a διατηρεί τη δομή και τις χρονικές σημάνσεις· η --ignore-existing αφήνει ανέγγιχτα τα αρχεία που έχουν ήδη αντιγραφεί:
rsync -a ~/.claude/projects/ ~/claude-history-archive/
  1. Αυτοματοποιήστε την εκτέλεση μία φορά την ημέρα. Σε macOS, χρησιμοποιήστε launchd. Δημιουργήστε το αρχείο ~/Library/LaunchAgents/com.example.claudearchive.plist:
<?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>
  1. Φορτώστε τον agent για να εκτελείται στο παρασκήνιο:
launchctl load ~/Library/LaunchAgents/com.example.claudearchive.plist

Σε Linux, κάντε το ίδιο με μία γραμμή στο crontab (crontab -e):

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

Γιατί λειτουργεί αυτό ενώ ο συγχρονισμός της προηγούμενης ενότητας αποτυγχάνει; Το αρχείο βρίσκεται ΕΞΩ από το ~/.claude/projects/, οπότε η εκκαθάριση δεν μπορεί να το δει καθόλου. Η αντιγραφή γίνεται μονόδρομα (από τον ενεργό φάκελο προς το αρχείο) και δεν αγγίζουμε το mtime των ενεργών αρχείων—άρα δεν εμφανίζεται το σφάλμα mtime. Ακόμη κι αν το Claude Code διαγράψει αύριο μια συνεδρία από τον δικό του φάκελο, το αντίγραφό της θα παραμείνει στο αρχείο.

Πώς μπορείτε να μετατρέψετε το αρχείο των συνεδριών σας σε αναζητήσιμο δεύτερο εγκέφαλο;

Κύριο συμπέρασμα

Βάλτε το αρχείο υπό τον έλεγχο του git και θα αποκτήσετε μια βάση δεδομένων με εκδόσεις, πλήρως αναζητήσιμη, για όλες τις συνεδρίες σας. Εκτελέστε git init στον φάκελο του αρχείου και κατόπιν καθημερινά git add -A && git commit, ώστε να έχετε ιστορικό αλλαγών και προστασία από τυχαίες αντικαταστάσεις. Μπορείτε να αναζητήσετε παλαιότερες συνεδρίες με το συνηθισμένο grep και να εξαγάγετε δομημένο περιεχόμενο με το jq, αφού το .jsonl είναι JSON οριοθετημένο ανά γραμμή. Έτσι το αρχείο γίνεται πρακτικό εργαλείο.

Δεν αρκεί να συσσωρεύετε αρχεία—πρέπει να έχετε πρόσβαση σε αυτά. Δύο βήματα μετατρέπουν το αρχείο σε λειτουργικό εργαλείο.

Πρώτα, δημιουργήστε εκδόσεις με git. Αρχικοποιήστε ένα αποθετήριο στον φάκελο του αρχείου:

cd ~/claude-history-archive
git init
git add -A && git commit -m "Πρώτο στιγμιότυπο του ιστορικού του Claude Code"

Προσθέστε τα git add -A && git commit στην ίδια καθημερινή εκτέλεση με το rsync. Τώρα έχετε ιστορικό εκδόσεων: μπορείτε να δείτε τι εμφανίστηκε και πότε, και να αναιρέσετε μια τυχαία αντικατάσταση με μία εντολή.

Δεύτερον, αναζητήστε. Τα αρχεία .jsonl είναι JSON οριοθετημένο ανά γραμμή, οπότε μπορείτε να χρησιμοποιήσετε πάνω τους οικεία εργαλεία. Βρείτε σε ποια συνεδρία συζητήθηκε ένα συγκεκριμένο θέμα:

grep -rl "μετάβαση βάσης δεδομένων" ~/claude-history-archive/

Εξαγάγετε μόνο το κείμενο των προτροπών σας από μια συνεδρία (χρησιμοποιώντας jq, αφού πρόκειται για JSON):

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

Σε αυτό το σημείο, το ιστορικό των συνεδριών σας αρχίζει να λειτουργεί ως δεύτερος εγκέφαλος του έργου: μια βάση δεδομένων όπου μπορείτε να ανακτήσετε σε δευτερόλεπτα το «πώς αποφασίσαμε γι’ αυτό τον Μάρτιο». Για ξεχωριστή ανάλυση του πού πηγαίνει το πλαίσιο μέσα σε μια συνεδρία και πώς να το διαχειριστείτε, δείτε το «Πού πηγαίνουν τα token στο Claude Code».

Μπορείτε να ανακτήσετε συνεδρίες που έχουν ήδη διαγραφεί;

Κύριο συμπέρασμα

Δεν υπάρχει ενσωματωμένη μέθοδος. Το Claude Code δεν βάζει τα διαγραμμένα αρχεία στον Κάδο ούτε διατηρεί επαναφορά· το αρχείο διαγράφεται οριστικά. Η μόνη πιθανότητα είναι εξωτερικά αντίγραφα που δημιουργήθηκαν ΠΡΙΝ από τη διαγραφή: ένα στιγμιότυπο του Time Machine σε macOS, το ιστορικό εκδόσεων του OneDrive ή του Dropbox ή ένα χειροκίνητο αντίγραφο ασφαλείας. Αν δεν υπάρχει τίποτε από αυτά, η συνεδρία έχει χαθεί. Γι’ αυτό η προστασία πρέπει να ρυθμιστεί εκ των προτέρων—προτού υπάρξει κάτι για να χαθεί.

Η ειλικρινής απάντηση: μάλλον όχι. Το Claude Code δεν διαθέτει λειτουργία ανάκτησης, Κάδο ή αρχείο καταγραφής αναίρεσης για τις διαγραμμένες απομαγνητοφωνήσεις. Το αρχείο απλώς εξαφανίζεται από τον δίσκο.

Υπάρχει μία δυνατότητα: αντίγραφα ασφαλείας συστήματος, αν είχαν ενεργοποιηθεί εκ των προτέρων:

  1. macOS Time Machine—αν ένα στιγμιότυπο περιλάμβανε το ~/.claude/projects/ πριν από τη διαγραφή, μπορείτε να ανακτήσετε το αρχείο από το αντίγραφο ασφαλείας της απαιτούμενης ημερομηνίας.
  2. Ιστορικό εκδόσεων OneDrive / Dropbox—αν ο φάκελος συγχρονιζόταν με ενεργοποιημένη τη διατήρηση εκδόσεων, αναζητήστε το αρχείο στο ιστορικό εκδόσεων του cloud (αλλά θυμηθείτε την παγίδα του mtime: ο συγχρονισμός μπορεί επίσης να προκάλεσε τη διαγραφή).
  3. Χειροκίνητα αντίγραφα—οποιοδήποτε rsync/cp εκτελέσατε χειροκίνητα σε θέση έξω από τον διαχειριζόμενο φάκελο.

Αν δεν υπήρχε τίποτε από αυτά, η συνεδρία χάθηκε. Και αυτό δεν είναι σπάνιο: ένας συντάκτης αναφοράς σφάλματος στο αποθετήριο της Anthropic είχε 26 από τις 38 εγγραφές κατεστραμμένες, γεγονός που αντιστοιχούσε σε μήνες εργασίας. Η μόνη αξιόπιστη προστασία είναι εκείνη που έχει τεθεί σε εφαρμογή ΠΡΙΝ από την απώλεια. Ρυθμίστε σήμερα το cleanupPeriodDays και την αυτόματη αρχειοθέτηση, όσο υπάρχει ακόμη κάτι που μπορείτε να σώσετε.

Ποια τιμή πρέπει να επιλέξετε για το cleanupPeriodDays;

Κύριο συμπέρασμα

Για τους περισσότερους, χρησιμοποιήστε 3650 (δέκα χρόνια, πράγμα που ουσιαστικά απενεργοποιεί τη διαγραφή) μαζί με ένα εξωτερικό αυτόματο αρχείο. Διατηρήστε την προεπιλεγμένη τιμή 30 μόνο αν δεν χρειάζεστε ιστορικό και θεωρείτε σημαντικότερο να μην παραμένουν μυστικά στον δίσκο. Η τιμή 365 είναι ένας εύλογος συμβιβασμός, με ετήσια εκκαθάριση. Μια άλλη επιλογή είναι να μη γράφετε καθόλου ιστορικό: χρησιμοποιήστε τη μεταβλητή περιβάλλοντος CLAUDE_CODE_SKIP_PROMPT_HISTORY ή τη σημαία --no-session-persistence, αλλά αυτό εξυπηρετεί τον αντίθετο σκοπό.

Υπάρχει μία ρύθμιση, αλλά μπορεί να σημαίνει διαφορετικά πράγματα. Συγκρίνετε τις επιλογές και επιλέξτε εκείνη που ταιριάζει στη χρήση σας:

ΤιμήΤι κάνειΣε ποιους ταιριάζει
30 (προεπιλογή)Διαγράφει κατά την εκκίνηση συνεδρίες παλαιότερες των 30 ημερώνΔεν χρειάζεστε ιστορικό· έχει μεγαλύτερη σημασία να αποφεύγετε την αποθήκευση ευαίσθητων δεδομένων στον δίσκο
365Διατηρεί ιστορικό ενός έτους και έπειτα το εκκαθαρίζει μία φορά τον χρόνοΧρειάζεστε πρόσφατο ιστορικό, αλλά όχι αόριστο αρχείο
3650Ουσιαστικά απενεργοποιεί τη διαγραφήΘέλετε να διατηρείτε τα πάντα + ένα εξωτερικό αρχείο (συνιστάται)
CLAUDE_CODE_SKIP_PROMPT_HISTORYΔεν γράφει καθόλου ιστορικό στον δίσκοΜέγιστο απόρρητο· δεν χρειάζεστε καθόλου ιστορικό

Μια σημαντική επιφύλαξη ασφαλείας: αν ορίσετε 3650 και διατηρείτε τα πάντα, συμφωνείτε να αποθηκεύετε στον δίσκο απομαγνητοφωνήσεις που μπορεί να περιέχουν κλειδιά και κώδικα. Πρόκειται για συνειδητό συμβιβασμό: ευκολία αρχειοθέτησης έναντι κινδύνου. Περιορίστε τον κίνδυνο: διατηρήστε το αρχείο σε κρυπτογραφημένο δίσκο (FileVault σε macOS), μην το τοποθετήσετε σε δημόσιο cloud και μην το υποβάλετε σε δημόσιο αποθετήριο git. Έχω ετοιμάσει ξεχωριστό οδηγό για τα δεδομένα που μπορεί να διαρρεύσουν μέσω του Claude Code: «Ασφάλεια δεδομένων στο Claude Code».

Τι να κάνετε σήμερα: λίστα ελέγχου

Κύριο συμπέρασμα

Αυτά τα βήματα μειώνουν απώλεια ιστορικού: επεκτείνετε διατήρηση με cleanupPeriodDays: 3650, αντιγράψτε συνεδρίες έξω από το ~/.claude/projects/ και κρατήστε εκδόσεις του αρχείου. Μόνο επιτυχώς αντιγραμμένα αρχεία προστατεύονται από την εκκαθάριση Claude Code. Ένα καθημερινό πρόγραμμα αφήνει έως μία ημέρα πρόσφατων αλλαγών εκτός αρχείου όταν οι εκτελέσεις πετυχαίνουν· αποτυχημένες ή παραλειπόμενες εκτελέσεις μεγαλώνουν το κενό. Αντίγραφο στον ίδιο δίσκο δεν προστατεύει από βλάβη δίσκου.

Ρυθμίστε την προστασία βήμα προς βήμα:

  1. Ορίστε cleanupPeriodDays: 3650 στο ~/.claude/settings.json—σταματήσατε τη διαγραφή.
  2. Δημιουργήστε το ~/claude-history-archive έξω από τον διαχειριζόμενο φάκελο και εκτελέστε το πρώτο rsync -a.
  3. Προγραμματίστε καθημερινή εκτέλεση με launchd (macOS) ή cron (Linux).
  4. Αρχικοποιήστε το git στο αρχείο και προσθέστε τα git add -A && git commit στην ίδια εκτέλεση.
  5. Βεβαιωθείτε ότι το αρχείο βρίσκεται σε κρυπτογραφημένο δίσκο και δεν συγχρονίζεται με δημόσιο cloud.
  6. Ελέγξτε κάθε προγραμματισμένη εκτέλεση για επιτυχημένη αντιγραφή, εξετάστε μια πρόσφατη αρχειοθετημένη συνεδρία και επαναφέρετε περιοδικά δείγμα σε ξεχωριστό προσωρινό φάκελο για επαλήθευση αναγνωσιμότητας.
  7. Αν το πεδίο κινδύνου περιλαμβάνει απώλεια συσκευής ή δίσκου, κρατήστε ανεξάρτητα αποθηκευμένο αντίγραφο ασφαλείας με κατάλληλους ελέγχους πρόσβασης και δοκιμάστε επίσης την αποκατάστασή του. Ιστορικό Git στον ίδιο δίσκο δεν είναι ανεξάρτητο backup.

Το ιστορικό των συνεδριών είναι μόνο ένα επίπεδο πλαισίου που κάνει το Claude αξιόπιστο.

Γνωρίστε το Ailoot.

Περισσότερες λεπτομέρειες

Ερωτήσεις και απαντήσεις: Το Claude Code διαγράφει το ιστορικό μετά από 30 ημέρες: πώς να το αποθηκεύσετε

Μια καθημερινή αρχειοθέτηση εγγυάται ότι δεν θα χαθεί καμία συνεδρία;

Όχι. Προστατεύει επιτυχώς αντιγραμμένα αρχεία από εκκαθάριση στον διαχειριζόμενο φάκελο. Με επιτυχείς καθημερινές εκτελέσεις μπορεί ακόμη να λείπει έως μία ημέρα πρόσφατων αλλαγών· αποτυχίες μεγαλώνουν το κενό και αντίγραφο στον ίδιο δίσκο μπορεί να χαθεί μαζί με το πρωτότυπο.

Πώς ελέγχω ότι το αρχείο είναι αξιοποιήσιμο;

Επιβεβαιώστε ότι πετυχαίνουν οι προγραμματισμένες αντιγραφές, εξετάστε πρόσφατη αρχειοθετημένη συνεδρία και επαναφέρετε περιοδικά δείγμα σε ξεχωριστό προσωρινό φάκελο. Για προστασία από απώλεια συσκευής ή δίσκου, δοκιμάστε επίσης ανεξάρτητα αποθηκευμένο backup.

Όλα τα άρθρα