← 制作記一覧へ

2つの場所、2台のMacをiCloudでつなぐ話

公開: 2026-05-01 · #13 / 最終更新: 2026-08-13 作業環境iCloudMacClaude Code

📌 記事の取り扱いについて(公開当時の内容を含みます — タップで詳細)

本記事は公開当時の体験・気づきをまとめたものです。現在のツール数・プラン数・対象年齢・記事数・仕様とは異なる場合があります。最新の内容は各ツールページをご確認ください。ツールや外部サービスの仕様・料金は変更されることがあるため、利用前には各公式情報も併せてご確認ください。記載に誤りを見つけられた場合はお問い合わせフォームよりご連絡いただけると助かります。

私はいま、2つの場所にそれぞれMacを1台ずつ置いてツールを作っています。一方の場所を出るときは、そこのMacを落として移動する、というシンプルな運用です。

両方のMacが同じプロジェクトファイルを触れるように、ClaudeCode/ というフォルダはまるごと iCloud Driveに置いてあります。例によって「Claude Codeに相談したら、まずiCloudに置きましょうと言われた」というだけで、仕組みを深く理解しているわけではないのですが、結果としてはそれなりに回っています。

2026年8月の追記:この記事を書いた当時は、プロジェクトの本体もまるごとiCloud Driveに置いていました。その後、変更履歴を持っているフォルダまで同期の対象になってしまい、作業が巻き戻る事故が続いたので、本体は各Macの中(iCloudの外)へ移して、2台のあいだの受け渡しは GitHub(変更履歴を預けておくネット上の置き場)を経由する形に変えました。いまiCloudに残しているのは、運用メモやAIの自動メモリなどです。以下は、それ以前の運用を書いた記録として読んでください。

移動中はAIで構想を練る

移動の間は手元にMacがありません。コードは書けない時間です。

そのかわり、最近は移動中にスマホでAI(Claude のチャットの方)に話しかけて、「次にこういうツールを作りたい、叩き台の仕様を一緒に考えて」と相談しています。コードを書くフェーズではなく、「何を作るか/どんなUIか/どこで詰まりそうか」を言葉にしていくフェーズです。

紙のノートでも近いことはできますが、AIだと「それやるなら〇〇の問題が出るのでは?」と返してくれるぶん、ひとりで考えるより詰まりにくい印象があります。どちらかの場所に着いてMacを開いたら、その構想メモをClaude Codeに渡して実装してもらう、というのが最近のリズムです。

電車のなかで次のツールの話をしながら、机についたら作り始める——書いていて改めて、ちょっと未来的だなと思いました。

iCloudで同じフォルダを共有する、という地味な仕組み

ClaudeCode/ フォルダはiCloud Drive配下に置いてあるので、一方のMacで書いたコードは、しばらく経つともう一方のMacでも開けるようになります。逆も同じです。

これだけ書くと「ちゃんと同期されている」と聞こえるかもしれませんが、実態はもうちょっとふんわりしています。

  • 同期には 数分のタイムラグがある。移動してすぐ次の場所でMacを開くと、最新ファイルがまだ降ってきていないことがある
  • Finderの 雲マーク(「まだクラウドにしかないよ」という印)が残っていると、ローカルにダウンロードされきっていない
  • 端末を落とす前に iCloud同期の完了を待つのを忘れると、相方のMacで「あれ、最新が無い」となる

なので、家を出るときの最後の動作は、**「Finderで ClaudeCode/ を眺めて、雲マークが残っていないか確認する」**という地味なやつです。これだけはAIに任せられないので、自分でやっています。

同時に2台は触らない、という運用ルール

複数端末で同じファイルを触れるようにしておくと、当然ながら **「2台で同時に違うことをやって、後で衝突する」**リスクが出てきます。

そこは単純で、2つの場所で時間差で交互に使うだけです。同じ時間に2台のMacの前に座ることはそもそもできないので、自然とそうなりました。

それでも、同じMacで複数のターミナルを開いたまま別の作業を並行させていることはあるので、リポジトリの中に 「いま何の作業が進行中か」を書いておく欄を作って、自分で見張るようにしています。地味な仕組みですが、書かずにファイルを2か所から触ってしまい軽くごちゃっとした経験があるので、いまは欠かせない欄になりました。

iCloudで同期できないものもある

ややこしいのは、ClaudeCode/ フォルダは同期できても、Claude Codeの設定・履歴・ローカルに保存された情報は別の場所にあって、こちらはiCloud配下に無い、という点です。

つまり、一方のMacのClaudeが覚えていることを、もう一方のMacのClaudeは知らない、という状況がふつうに発生します。「なんでこっちのClaudeは私のことを忘れているの?」と最初は混乱しました。Claude Codeの記憶は端末ごとに育つ、という理解がいるわけです。

これは最終的に、記憶の置き場をiCloud側に一本化して、そこを見に行くようにシンボリックリンク(別の場所を参照するショートカットのような仕組み)で張り替え、両方のMacで同じ記憶を共有する形にしました(…と書きつつ、この設定もClaude Codeに手順を組んでもらいました)。共有できたのは「次の作業でも参照される自動メモ」の置き場所だけで、過去の会話や端末ごとの設定まで同じになるわけではありません。設定用のコマンドも用意してありますが、2台のMacでログイン名が違うとそのままでは動かないので、端末ごとに一度ずつ手を入れています。

ただ、このシンボリックリンク運用は、あくまで 私の環境でうまく回っている方法 です。Claude Code 側の仕様変更や iCloud の同期タイミングによって不具合が出る可能性もあるので、そのまま真似する場合は自己責任になります。安全にやるなら、まずは小さく試して、設定ファイルや記憶領域の共有は 様子を見ながら本格導入する のがよさそうです。あとから分かったことですが、変更履歴のフォルダごとiCloudに入れると巻き戻りが起きることがあったので、大事な本体はiCloudだけに頼らないほうが安心でした。

ちなみに、開発中のプロジェクトには node_modules という巨大で大量のファイルが入った重たいフォルダがあって、これをiCloudに同期させると、容量を食いつぶしたり、なぜか同じフォルダのコピーが二重に作られたりします。これも対症療法的に「作り直せる部品置き場は同期しないで」というおまじないをかけて回避していました。原理はやっぱり分かっていません。(その後、このおまじないだけでは足りない場面に何度かぶつかり、最終的にはプロジェクト本体ごとiCloudの外へ移しました。経緯はノートパソコンを抱えて帰った話と、原因の正体にたどり着いた2万7千個の小さいファイルの話に続きます。)

秘密情報(APIキー・パスワード)はiCloudに置かない

iCloudで何でも同期できるとはいえ、APIキー・管理画面パスワード・トークン類は iCloud 同期フォルダ配下に置かないようにしています。万が一 Apple ID が乗っ取られたり、家族と共有しているMacからアクセスされたりした場合に、秘密情報がまとめて漏えいする構造を作りたくないからです。

……と、この記事の初版でもそう書いていたのですが、白状すると、公開からしばらく経って点検したら、運用メモやスクリプトの中に鍵の実物がいくつか紛れ込んでいました。原則は決めたのに、日々の作業で少しずつ破っていたわけです。そこで2026年7月に一度時間を取って、同期フォルダの中を機械的に総ざらいし、見つかった鍵を外へ出して、古い鍵は作り直しました。ただ、そのときの走査には見ていなかった場所が残っていて、数日後の再点検でさらに取りこぼしが出てきました。一度で終わり、とはいかないようです。

いまの置き場所は、だいたい用途で分けています(例外もあるので、「すべてこの通り」とは言い切れません)。

  • サイトの公開や自動処理が使う鍵 → Cloudflare や GitHub の クラウド側の鍵保管庫(secret)に登録して、ファイルには書かない
  • 自分がMacで使うログイン用のトークン → Mac の キーチェーン(OS標準のパスワード保管庫)
  • スクリプトが読み込む鍵ファイル → iCloud のにある設定用フォルダ(同期されない場所)
  • 期限を付けられる鍵には 有効期限 を付けて、切れたら作り直す

ひとつ正直に書いておくと、この方式には弱点もあります。iCloudの外に出した鍵は、もう一方のMacには同期されません。端末ごとに登録し直す手間が増えます。ただ「勝手に複製されない」こと自体が狙いなので、ここは手間を受け入れることにしました。

コードの中に鍵を直書きしたり .env を置いたりすると、うっかりiCloudで同期されたり、git に混入したりするリスクがあります。「実物は保管庫に、ファイルには置き場所のメモだけ」と決めておくと事故を減らせます。そして今回の一番の教訓は、「置かない」と決めるだけでは守れないということでした。いまは、ときどき同期フォルダの中を機械的に検索して、鍵らしき文字列が紛れ込んでいないか点検するようにしています。

ガムテープで継ぎはぎしているけど、回ってはいる

書き出してみると、結構ガムテープで継ぎはぎしているような運用です。

  • 同期の完了は目視で確認する
  • 同時編集は時間差運用で避ける
  • AIの記憶は別途リンクで共有する
  • 作り直せる部品置き場は同期から除外する(最終的にはプロジェクト本体ごと外へ)
  • 秘密の鍵はiCloudの外に置き、紛れ込んでいないかときどき点検する

書いた当初は、この運用で大きな事故もなく回っている、と感じていました。ただ、その後は同期待ちに耐えかねてノートパソコンを抱えて帰ったり、重複コピーや巻き戻りにもぶつかりました。そのたびにルールを足してきて、最終的にはプロジェクト本体をiCloudの外へ移すところまで来た、というのが正直なところです。

きれいな仕組みではないですが、2つの場所のあいだを毎日往復しても、続きから作業が再開できる状態は維持できている、というのが今の実感です。完璧な開発環境を最初に組むよりも、**「少しずつ問題を見つけて潰していく」**のほうが、自分のような非エンジニアには合っているのかもしれません。

移動中はAIに構想を話し、机についたらClaude Codeに作ってもらう——という今のリズムは、自分でも気に入っています。


← 他の制作記を見るトップお問い合わせ