MacBook は蓋を閉じるとスリープし、スリープ中の Mac ではローカルの Claude Code セッションが一時停止します。そのため、アイドルスリープだけでなく、蓋を閉じたときのスリープを止める必要があります。
Clamshell for Mac は、有効化している間、蓋を閉じても Mac を起こしたままにします。sudo もモニターも不要です。7 日間は無料、その後 $9.99 の買い切りです。アプリの表示は英語です。
無料トライアルをダウンロード外部ディスプレイなしでこれを実現するには、sudo pmset -a disablesleep 1 を使うか、Clamshell for Mac のようなアプリを使います。Clamshell for Mac は、sudo や管理者権限なしで Apple Silicon の MacBook を蓋を閉じたまま起こしておけるメニューバーアプリです。caffeinate だけでは足りません。
長時間のエージェント実行を始めて MacBook を閉じ、戻ってきたらセッションが止まっていた。そんな経験はないでしょうか。通常、蓋を閉じると Mac はスリープし、ローカルの作業は一時停止します。ネットワーク接続が切れることもあります。このガイドでは、外部ディスプレイや管理者権限なしで蓋を閉じたまま動かす方法と、本当にスリープが原因なのかを見分ける方法を説明します。
スマホに切り替えると Claude Code が止まる?
Anthropic の Remote Control のドキュメントにあるとおり、作業は引き続き手元のコンピュータ上で動いています。スマホはそのローカルセッションを操作するだけで、ジョブがクラウドに移るわけではありません。Remote Control はスリープ後に再接続できますが、Mac がスリープしている間はローカルの作業は進みません。
蓋を閉じたときだけ止まる
まず蓋閉じスリープを疑いましょう。ローカルの Mac で作業を続けさせたいなら、蓋を閉じたままスリープを防ぐツールが役立ちます。
蓋を開けていても止まる
セッションの接続状態、保留中の権限リクエスト、ターミナルのエラーメッセージを確認してください。Mac を起こしておいても、エージェントのエラーが解決したり、ツール呼び出しが承認されたりはしません。
Mac がインターネットにつながらない
接続を復旧してください。スリープ防止アプリはネットワーク接続を提供できません。
ジョブが Claude Code on the web で動いている
それはクラウドでの実行です。そのリモート処理のために、この Mac を起こしておく必要はありません。
原因が蓋閉じスリープなら、Mac を風通しのよい机に置き、電源と安定した接続を確保してください。メニューバーから Clamshell を有効化し、有効化されたことを確認してから蓋を閉じます。7 日間のトライアルで、自分のワークフローで問題なく動くか確かめてください。価格は Mac 1 台につき $9.99 の買い切りです。ダウンロードする前にハードウェア要件を確認してください。
スリープ防止コマンドにはない Clamshell の機能
蓋を開けたままなら、caffeinate でターミナルジョブのアイドルスリープを防げます。Clamshell は、外部モニターや管理者権限なしで、Apple Silicon の MacBook を蓋を閉じたまま動かし続けるためのアプリです。
- サーマル保護は常に有効です。Clamshell は macOS の熱圧力を監視しています。熱圧力が深刻(serious)または危機的(critical)なレベルになると、通常の蓋閉じスリープに戻す方向で解除し、Mac が冷えるまで有効化をブロックします。Mac の通気は確保してください。この保護は通気の代わりにはなりません。
- 内蔵ディスプレイを黒くしたまま、エージェントが画面を使えます。蓋を閉じて有効化しているセッション中は、内蔵ディスプレイは黒いままですが、画面はスクリーンショットやデスクトップ操作に使える状態に保たれます。蓋を開けると Mac はロックされます。エージェント側には、引き続きそれ自身の権限と正常な接続が必要です。
- バッテリー残量低下時のカットオフを設定できます。General 設定で Disarm on low battery をオンにし、しきい値を選びます。このオプションはデフォルトではオフです。
7 日間の無料トライアルをダウンロードして、購入前に実際のエージェントのワークフローで確かめてください。直販ライセンスは Mac 1 台につき $9.99 の買い切りです。
蓋を閉じたままスマホからセッションを操作する設定
macOS 14 以降の Apple Silicon MacBook に Clamshell をインストールし、ローカルのエージェントセッションが正常に動いている状態で始めます。Mac は風通しのよい机に置き、電源とインターネットにつないでおきます。この設定中は外部ディスプレイを外してください。
- 蓋を開けた状態でスマホを接続します。既存の Claude Code のターミナルセッションで
/remote-controlと入力し、表示される接続リンクか QR コードから接続します。アカウントの要件については Anthropic の最新のセットアップ手順に従ってください。スマホから簡単なリクエストを送り、Mac が応答することを確認します。 - 代わりに Happy を使う場合は?Happy のインストールとペアリングの手順に従い、プロジェクトで
happy claudeまたはhappy codexを起動します。先に進む前に、スマホからのリクエストがそのセッションに届くことを確認してください。これらはスマホから接続する別々の方法なので、どちらか一方だけで構いません。 - Clamshell を有効化します。メニューバーのコントロールを使うか、下のコマンドを実行します。メニューを開いて、有効化(armed)されていることを確認してください。外部ディスプレイが原因の一時停止(paused)状態は、この設定が有効になっていることの確認にはなりません。
open "clamshell://arm"
このコマンドは有効化を非同期でリクエストします。シェルが正常終了しても、Mac が有効化されたことの証明にはなりません。蓋を閉じる前にメニューを確認してください。
作業が続いていることを確かめる
- 接続したエージェントに、次の無害なタイムスタンプ確認をターミナルで実行させます。
for i in {1..12}; do date -u '+%Y-%m-%dT%H:%M:%SZ' sleep 10 done - 蓋を開けた状態でコマンドを承認し、2 分間の実行中に蓋を閉じます。
- 2 分後、スマホからタイムスタンプの出力と、新しいタイムスタンプを 1 つ要求します。合格の条件:蓋を閉じている間も、記録されたタイムスタンプがおよそ 10 秒間隔で続いていること。そして、蓋を開ける前に新しいリクエストが完了すること。
クライアントによってはターミナル出力をバッファリングするため、スマホの画面に何も出ないだけでは失敗とは言えません。また、「接続済み」の表示が出ているだけでは合格とは言えません。
失敗した場合:蓋を開けて、タイムスタンプの間隔、Clamshell の状態、ターミナル、保留中の権限リクエストを確認します。間隔が大きく空いていれば中断があったことを示しますが、それだけでは原因を特定できません。まず蓋を開けた状態で問題を直し、長時間のジョブを任せる前にこの確認をもう一度行ってください。
セッションを終える
蓋を開け、エージェントのタスクを止めるか完了させてから、メニューまたは下のリクエストで Clamshell を解除します。Mac をしまう前に、非アクティブ状態になったことを確認してください。メニューや URL で有効化した場合は、解除するまで有効なままです。蓋を開けるだけではこのモードは終了しません。
open "clamshell://disarm"
Clamshell はショートカット App 向けに Arm、Disarm、Toggle、Status のアクションも用意しています。自分で作成するショートカットに追加して使えます。Mac を起こしておいても、エージェントの権限を回避したり、ネットワーク障害を直したり、スリープ中の Mac をリモートから起こせるようにしたりはできません。
蓋を閉じるとローカルの作業が止まる理由
- 蓋を閉じるmacOS が蓋閉じスリープの処理を始めます。
- Mac がスリープするエージェントが実行中でもスリープは止まりません。
- エージェントが作業の途中で止まるビルド、ダウンロード、SSH セッションも止まります。
蓋閉じスリープはアイドルスリープとは別物です。タスクが動いているだけでは蓋閉じスリープは防げません。サポートされているディスプレイを閉じた状態での構成か、蓋閉じスリープを上書きする手段がなければ、蓋を閉じた時点でエージェントが作業の途中で止まることがあります。いったんスリープに入ると、Claude Code、Codex、ビルド、ダウンロード、SSH セッションはすべて進まなくなります。ツールによっては Mac の復帰後にセッションが回復することもあれば、回復しないこともありますが、どちらにしてもその間の時間は失われます。
うまくいかない方法とその理由
caffeinateや多くのスリープ防止メニューバーアプリが防ぐのはアイドルスリープだけです。蓋閉じスリープの処理はこれらを無視するので、ローカルの作業はやはり止まります。KeepingYouAwake のように、蓋を閉じた状態での動作はサポートしていないと明言しているアプリもあります。sudo pmset -a disablesleep 1は確かに効きますが、管理者権限で切り替えるシステム全体のスイッチです。元に戻すのを思い出すまで、バッテリー駆動中も含めてあらゆるスリープが無効になります。戻し忘れると、カバンの中で Mac がバッテリーを使い切ってしまいます。- 外部ディスプレイや HDMI ダミープラグを使えば macOS 公式のクラムシェルモードの条件を満たせますが、そのためのハードウェアを用意し、電源をつなぎ、持ち歩く必要があります。
2 秒で済む解決策
Clamshell は、まさにこのために作られたメニューバーアプリです。Option キーを押しながら蓋を閉じると、画面が暗くなり、Mac は起きたまま、エージェントは作業を続けます。Option を押しながら閉じる操作で有効化した場合は、蓋を開けるとその一時的なセッションが終わります。メニューや URL から有効化した場合は、解除するまで Clamshell は有効なままです。管理者権限は不要で、sudo もカーネル拡張も特権ヘルパーも使いません。
ターミナルから有効化する
Clamshell は URL スキーム経由で有効化と解除のリクエストを受け付けます。次のシェルの例では、タスクの前に有効化をリクエストし、シェルの終了時に解除をリクエストします。open コマンドはリクエストを届けるだけで、Clamshell の有効化が成功したことは確認しません。蓋を閉じる前に、アプリが有効化状態になっていることを確認してください。EXIT トラップは、シェルがクラッシュしたり強制終了されたりした場合の動作までは保証しません。
set -e
open "clamshell://arm"
trap 'open "clamshell://disarm" || true' EXIT
# your long-running task
claude -p "run the test suite and fix the failures"
有効化を確認できれば、Option キーは必要ありません。clamshell://toggle も使えます。また、Clamshell のショートカットアクション(Arm、Disarm、Toggle、Status)を、自分のショートカットやオートメーションに組み込むこともできます。
Claude Code、Codex、Cursor、ビルド、SSH
どのプロセスが作業していても、蓋には関係ありません。Mac がスリープすると、ローカルのコーディングエージェントは一時停止し、子プロセスは止まり、ネットワークソケットは切断されることがあり、リモートセッションはタイムアウトすることがあります。マシンを起こしておけば、作業環境全体がそのまま保たれます。
Claude Code と Codex
蓋が再び開くのを待たずに、ツール呼び出し、テスト、編集を続けます。
Cursor などのデスクトップエージェント
ローカルのターミナルやバックグラウンドタスクとともに動き続けます。
ビルド、テストスイート、ダウンロード、レンダリング
蓋を開けていたときと同じ CPU とネットワークのリソースを使って処理を続けます。
SSH、画面共有、リモートアクセス
Mac が起きていてネットワークにつながったままなので、引き続きアクセスできます。
バッテリー駆動でも一晩動かせる
蓋を閉じると画面がオフになります。画面はノートパソコンのアイドル時の消費電力の大部分を占めています。それ以外は蓋を開けているときとまったく同じように動きます。軽いエージェント作業ならわずかな電力しか使わず、重い作業ならいつもどおりの電力を使います。Clamshell は実行中に電源を抜き差ししても動作を続けます。また、オプションのバッテリー残量低下スイッチ(デフォルトはオフ、設定から変更可能)を使えば、残量が指定したレベルを下回ったときに Mac をスリープさせられるので、一晩の実行でバッテリーを使い切らずに済みます。Mac はネットワークにもつながったままなので、蓋を閉じている間も SSH や画面共有を使えます。
対応環境
macOS 14 以降の Apple Silicon MacBook に対応しています。Option キーを押しながら蓋を閉じる操作には、MacBook Air M2(2022)以降と、14 インチおよび 16 インチの MacBook Pro(2021)以降に搭載されている蓋の角度センサーを使います。それ以外の Apple Silicon ノートでは、メニューバーから有効化してください。詳しくはよくある質問をご覧ください。どの方法にするか迷っている場合は、Clamshell、Amphetamine、pmset、caffeinate、Apple のディスプレイ構成の比較(英語)を参照してください。
よくある質問
MacBook の蓋を閉じても Claude Code は動き続けますか?
デフォルトでは動き続けません。蓋を閉じると Mac がスリープし、ローカルの Claude Code の作業は Mac が復帰するまで進まなくなります。動き続けるのは、外部ディスプレイを接続している場合、pmset disablesleep を使っている場合、または Clamshell for Mac のような蓋を閉じたまま動かすためのアプリを使っている場合だけです。
Claude Code の Remote Control は蓋を閉じても使えますか?
Remote Control は、Mac 上で動いているセッションをスマホから操作する仕組みなので、Mac が起きている必要があります。蓋を閉じた状態で使い続けられるのは、蓋を閉じたときのスリープを防いでいる場合だけです。たとえば、蓋を閉じる前に Clamshell を有効化しておく方法があります。
sudo なしで、蓋を閉じたまま Claude Code を動かし続けられますか?
はい。Clamshell for Mac はメニューバーアプリで、sudo、管理者権限、カーネル拡張、特権ヘルパーのいずれも必要ありません。メニューバーから、または Option キーを押しながら蓋を閉じる操作で有効化し、有効化されたことを確認してから蓋を閉じてください。
Clamshell は Claude Code を自動で検出しますか?
いいえ。Clamshell にはエージェントの自動検出機能も、Claude Code とのネイティブ連携もありません。スクリプトから clamshell://arm の URL で有効化を、clamshell://disarm で解除をリクエストできます。ショートカットのアクションを使うこともできます。
Claude Code を動かしたまま MacBook の蓋を閉じて一晩置いても安全ですか?
風通しのよい机の上に置き、できれば電源につないでください。Clamshell のサーマル保護は常に有効で、熱圧力が深刻(serious)または危機的(critical)なレベルになると、通常の蓋閉じスリープに戻す方向で解除します。また、オプションのバッテリー残量低下時のカットオフを使えば、バッテリーが空になる前に Mac をスリープさせられます。
Codex や Cursor などのエージェントでも使えますか?
はい。Mac が起きていれば、Codex、Cursor、ビルド、テストスイート、SSH セッションを含め、ローカルのすべてのプロセスが動き続けます。ただし、エージェントの権限リクエストを承認したり、ネットワーク障害を直したりするものではありません。
関連ガイド(英語)
- 蓋を閉じたまま Codex を動かし続ける方法
- MacBook で AI エージェントを一晩動かす方法
- バッテリー駆動で MacBook を蓋を閉じたまま使う
- 蓋を閉じると caffeinate が効かない理由
- Clamshell for Mac とは何か、何ではないか
Clamshell は独立したアプリであり、Anthropic や OpenAI とは提携しておらず、承認も受けていません。Claude Code および Codex は、それぞれの所有者の商標です。このページは英語版ガイドの日本語訳です。