Claude Code、エージェント、長時間の処理のあいだ Mac をスリープさせない。

Mac がスリープすると、エージェントもダウンロードもビルドも止まります。いちばん手早い対処法は macOS に最初から入っています。ターミナルのコマンド 1 つ、caffeinate です。うまくいく方法と、蓋を閉じたときの落とし穴を紹介します。

更新日

要点

  • caffeinate -i は Control-C を押すまで Mac を起こしたままにします。後ろにコマンドを付ければ、そのコマンドが動いているあいだだけ Mac が起きています:caffeinate -i claude。
  • ターミナルを使わない場合:MacBook では Prevent automatic sleeping on power adapter when the display is off(バッテリー → オプション)をオンにします。デスクトップの Mac では、同じスイッチが「エネルギー」にあります。
  • MacBook の蓋を閉じるとスリープします。電源につながっていて、外部ディスプレイ、キーボード、マウスが接続されている場合は別です。
  • Mac が作業を続けていても、画面はロックされたり消えたりします。処理を止めるのはスリープで、画面が暗くなることではありません。

1caffeinate:標準のコマンド

caffeinate はすべての Mac に入っています。動いているあいだ Mac を起こしておく、それ以外は何もしません。

Control-C を押すまで Mac を起こしておく:

caffeinate -i

Claude Code(またはほかのコマンド)が動いているあいだだけ起こしておく:

caffeinate -i claude

2 時間(7,200 秒)起こしておく:

caffeinate -i -t 7200

すでに動いているプログラムが終わるまで(pgrep でその番号を調べ、-w の後ろに付けます):

pgrep -fl claude
caffeinate -i -w 12345

各文字の意味:-i はアイドル時のスリープを防ぎ、-d はディスプレイをオンのままにし、-m はディスクを起こしておき、-s は電源接続中にシステム全体を起こしておきます(caffeinate のマニュアル)。エージェントやビルドには -i で十分です。画面を見ていたいときだけ -d を加えてください。

2ターミナルを使わない設定

MacBook では:システム設定 → バッテリー → オプションを開き、Prevent automatic sleeping on power adapter when the display is off をオンにします。デスクトップの Mac では:システム設定 → エネルギーを開き、Prevent automatic sleeping when the display is off をオンにします(Apple サポート)。

これは Mac が電源につながっているあいだだけ有効で、電力も多く使います。必要なくなったらオフにしてください。

3蓋を閉じるとき

MacBook は蓋を閉じるとスリープし、caffeinate でもそれは変わりません。蓋を閉じたまま動き続けるのはクラムシェルモードのときだけです。電源と外部ディスプレイにつなぎ、キーボードとマウスまたはトラックパッドを接続した状態です(Other World Computing)。

ネットで sudo pmset -a disablesleep 1 を見かけるかもしれません。これはあらゆるスリープを止めます。バッグの中でもです。蓋を閉じた MacBook がエージェントを動かしていると、とても熱くなることがあります。使った場合は sudo pmset -a disablesleep 0 で元に戻し、意味のわからない sudo の行は決して実行しないでください。

4代わりにやってくれるアプリ

入力よりクリックが好みなら、同じシステムのスイッチを包んだメニューバーアプリがあります。

  • Amphetamine(無料、Mac App Store):タイマー付きのセッション、「アプリの実行中」など。
  • KeepingYouAwake(無料、オープンソース):メニューバーでワンクリック。

5留守中に動かすエージェントのために

  • Mac を電源につないでおき、デスクトップの Mac では「エネルギー」のネットワークアクセスによってスリープを解除をオンにして、画面共有や SSH から届くようにします。
  • エージェントは caffeinate -i の中で動かします。そうすれば、エージェントが終わると Mac はまた自然にスリープします。
  • Mac mini は静かで常時稼働の AI マシンになります。Mac mini で AI サーバを作るガイドを参照してください。
  • エージェントを動かしたまま離れる前に、それが何に触れうるかを確認してください。予想外のコマンドを実行したことがあるなら、Mac の確認をしてください。

6よくある質問

Claude Code のために Mac を起こしておくには?
caffeinate -i claude で起動します(claude の代わりに)。Claude Code が動いているあいだ Mac は起きていて、終われば再びスリープできます。長いセッションでは Mac を電源につないでおいてください。
Mac をスリープさせないターミナルのコマンドは?
caffeinate -i は Control-C を押すまで起こしておきます。caffeinate -i -t 3600 なら 1 時間。caffeinate -i の後ろに任意のコマンドを付ければ、そのコマンドが動いているあいだです。
蓋を閉じたまま MacBook を起こしておけますか?
クラムシェルモードのときだけです。電源につなぎ、外部ディスプレイ、キーボード、マウスを接続した状態です。それ以外では、caffeinate がどうであれ、蓋を閉じるとスリープします。
caffeinate はバッテリーを消耗しますか?
スリープを止めるので、Mac は行っている作業の分だけ電力を使います。バッテリーで動かすときは -t で時間を区切るか、電源につないでください。
画面がロックされても Mac は作業を続けますか?
はい、Mac 自体がスリープしていなければ続けます。caffeinate やスリープの設定が Mac を動かし続けているあいだ、ディスプレイは消えても、画面はロックされてもかまいません。

出典

  1. caffeinate のマニュアルss64.com
  2. Apple サポートsupport.apple.com
  3. Other World Computingeshop.macsales.com
  4. Amphetamineapps.apple.com
  5. KeepingYouAwakegithub.com

Mac のセキュリティをもっと