Claude Codeのメモリは、複数のPCで共有できる? 覚えていることを一つの場所にまとめた
私は、Claude Codeを複数のPCで使っています。
しばらくのあいだ、AIが覚えていることは、PCごとに分かれていました。あるPCで話したことを、別のPCのAIは知らないままでした。
今の私は、覚えていてほしいことを一つの場所にまとめて、どのPCからも同じものを読んでもらっています。どうしてそうしたのかと、まとめてから変わったことを書きます。
メモリは、PCの中にある
Claude Codeは、会話をまたいで覚えておくことを、二つのファイルに書いています。
- CLAUDE.md:AIに守ってほしい決まりごと
- メモリ:会話の中で分かったことを、AIが書き残すメモ
どちらも、会話が始まるときに読み込まれます。ただ、置き場所はそのPCの中です。ユーザー全体のCLAUDE.mdは ~/.claude/CLAUDE.md、メモリはプロジェクトごとに ~/.claude/projects/<プロジェクト>/memory/ にあります。
なので、何もしなければ、PCごとに別のことを覚えていきます。
私が困っていたのは、同じことを何度も話すことでした。あるPCで話して決めたことを、別のPCでもう一度話さないといけません。この話はこの間もしたな、と思いながら、話し直していました。
一つのリポジトリにまとめた
そこで私は、覚えておいてほしいことを全部、一つのリポジトリに入れました。GitHubに置いて、使うPCそれぞれにcloneしています。中身は、おおまかに三つです。
- 全部のプロジェクトに共通のCLAUDE.md
- 私についてのメモ
- プロジェクトごとのメモリ
各PCの ~/.claude/CLAUDE.md は、このリポジトリのCLAUDE.mdを読み込む一行だけにしています。
@~/<リポジトリを置いた場所>/CLAUDE.md
メモリのほうは、~/.claude/projects/<プロジェクト>/memory を、リポジトリの中のフォルダへのリンクにしています。Macはシンボリックリンク、Windowsはジャンクションです。Claude Codeはいつもの場所にメモリを書いているつもりで、実際にはリポジトリの中に書いています。
会話の始めと終わりに、フックで自動でコミットとpull・pushをして、どのPCでも最新の状態になるようにしています。
まとめてから変わったこと
同じことを、もう一度話さなくていい
あるPCで話して決めたことを、別のPCのAIも知っています。一度話したことは、どのPCでも話し直さなくてよくなりました。私にとっては、これが一番大きな変化です。
どのプロジェクトで話していても、共通の場所に書ける
これまでのメモリは、そのとき開いていたプロジェクトの中にしか書けませんでした。あるプロジェクトの作業中に、私自身のことや、ほかでも使う決まりが出てきても、書く場所はそのプロジェクトのメモリでした。
今は、どのプロジェクトで話していても、共通のことは共通の場所に書いてもらえます。
CLAUDE.mdを一か所で直せる
全部のプロジェクトに効く決まりは、リポジトリのCLAUDE.mdを一か所直せば、どのPCにも届きます。PCごとに同じものを書き直さなくてよくなりました。
まとめ
PCごとにAIの覚えていることが分かれてしまうなら、置き場所を一つにしてみてください。
- CLAUDE.mdとメモリを、一つのリポジトリに入れる
- 各PCの
~/.claude/CLAUDE.mdは、そこを読み込む一行だけにする - メモリの場所は、リポジトリの中へのリンクにする
- 会話の始めと終わりに、フックでpullとpushをする