Macをスリープさせない方法:Codex・Claude Code・AIエージェントを止めずに動かす
更新日

「Macをスリープさせない」といっても、実際に知りたいことは少しずつ違います。
- 画面を開いたまま一時的にスリープを防ぎたいなら、
caffeinateで十分です。 - MacBookの蓋を閉じても処理を続けたいなら、蓋を閉じたときのスリープ制御が必要です。
- Codex、Claude Code、Cursorのエージェント、ローカルスクリプト、ビルド、モデル実行を止めたくないなら、コマンドを覚えるよりも状態が見えるトグルのほうが安全です。
3つ目の用途には、Macchiato (opens in a new tab) が向いています。Macのメニューバーからオン/オフできる小さなアプリで、蓋を閉じた状態も含めてMacをスリープさせないようにできます。
コマンドだけなら、やることはシンプルです。
# Disable sleep, including lid-close sleep behavior.
sudo pmset -a disablesleep 1
# Restore normal macOS sleep behavior.
sudo pmset -a disablesleep 0大事なのは2つ目のコマンドです。難しいのは、スリープを止める方法を見つけることではありません。AIエージェント、ビルド、自動化処理が終わったあとに、通常のスリープへ戻すことです。
用途別の早見表
| 検索していること | 本当にやりたいこと | おすすめの方法 |
|---|---|---|
| Macをスリープさせない | 蓋を開いたまま一時的に起こしておきたい | caffeinate またはMacchiato |
| MacBook 蓋を閉じてもスリープしない | MacBookを閉じたまま処理を続けたい | Macchiatoまたは pmset disablesleep |
| CodexがMacのスリープで止まる | Codexがローカルで作業中なので中断したくない | 離席前にMacchiatoをオンにする |
| Claude Codeを夜間も動かしたい | 長いビルドやテストを実行したまま離席したい | 見えるトグルでスリープを止め、終了後に戻す |
| AIエージェントがMacで止まる | ローカルのエージェント、ビルド、スクリプト、モデル実行を継続したい | その作業中だけスリープを防ぐ |
| 通常のスリープに戻す | スリープを無効化したまま戻し忘れている | Macchiatoをオフ、または sudo pmset -a disablesleep 0 |
コマンド中心の記事は、最初の用途だけを解決していることが多いです。AIエージェント時代の悩みは、むしろ中央の行にあります。
コマンドより先に用途を決める
この問題で検索する人の多くは、macOSの電源管理を詳しく学びたいわけではありません。困っているのは、作業が途中で止まることです。
- Codexがまだコードを編集したりテストを実行したりしている。
- Claude Codeが複数ステップのコマンドを実行している。
- ローカルのAIエージェントがリポジトリ、シェル、ブラウザを使っている。
- データ処理、エクスポート、ダウンロード、モデル実行が続いている。
- 蓋を閉じて席を離れたい。
ここで単に「caffeinate を使えばよい」と答えると、問題を取り違えることがあります。caffeinate は通常のアイドルスリープには便利です。しかし、MacBookの蓋を閉じたときのスリープは別問題です。macOSは通常、蓋を閉じる操作を強いスリープ指示として扱います。
このガイドでは、コマンドの前にユースケースを整理します。
caffeinate だけでは足りない場面
caffeinate は「Macをスリープさせない方法」として昔から使われている標準的な答えです。Macを開いたまま短時間だけ起こしておく用途では、今でも有効です。
たとえば、次のコマンドは実行中にMacを起こしたままにします。
caffeinate1時間だけスリープを防ぐなら、次のようにします。
caffeinate -t 3600ビルドが終わるまで起こしておきたい場合は、コマンドにかぶせて実行できます。
caffeinate npm run buildただし、2026年の開発ワークフローでは、待っているのは単なるダウンロードだけではありません。AIエージェント、ローカル開発サーバー、ノートブックジョブ、テストスイート、動画書き出し、モデル実行などが動いたまま、席を外すことがあります。
MacBookを開いたまま机に置くなら、caffeinate でも十分なことがあります。蓋を閉じたい、持ち運びたい、閉じたまま処理を続けたい場合は、アイドルスリープではなく、蓋を閉じたときのスリープを考える必要があります。
用途1:蓋を開いたままMacをスリープさせない
PCの近くにいて、処理が終わるまで待ちたいだけならこの方法で十分です。
たとえば、次のような場面です。
- ファイルのダウンロード
- パッケージのインストール
- ビルドやテストコマンド
- 短いデータエクスポート
- 会議中だけ動かしておきたいローカル開発サーバー
この場合は、時間制限つきのコマンドが扱いやすいです。
caffeinate -t 3600これは1時間だけMacを起こしておくコマンドです。蓋を閉じたときの挙動は変えず、時間制限もあるため、リスクは比較的低いです。
用途2:MacBookを閉じたまま処理を続ける
多くの簡単な解説が抜け落ちるのが、この用途です。
MacBookの蓋を閉じると、macOSは通常スリープに入ります。これはバッテリーと熱を守るためには自然な挙動です。ただし、長いローカル処理の途中では困ります。
蓋を閉じたまま動かしたい場合は、Macchiatoか pmset を使います。
sudo pmset -a disablesleep 1作業が終わったら、通常のスリープに戻します。
sudo pmset -a disablesleep 0これを頻繁に行うなら、記憶に頼るよりも、状態が見えるトグルを使うほうが現実的です。
用途3:Codex、Claude Code、ローカルAIエージェントを止めない
AIコーディングエージェントでは、入力を止めたあとも作業が続きます。Codex、Claude Code、Cursorのエージェント、ローカルブラウザエージェント、ノートブックエージェントは、ファイルを読み、テストを走らせ、ツールを呼び出し、コマンドの終了を待っていることがあります。
この流れで使うと安全です。
- エージェントのタスクを開始する。
- 放置しても問題ない内容か確認する。
- Macchiatoをオンにする。
- 蓋を閉じる、または席を離れる。
- 戻って結果を確認し、Macchiatoをオフにする。
これは、すべてのユーザーにターミナルコマンドを覚えさせるより実用的です。見える状態が、そのまま「今このMacは普通にスリープしてよい状態か?」という判断につながります。
本当の落とし穴は戻し忘れ
スリープ制御で危ないのは、コマンドそのものではありません。人間が忘れることです。
よくある流れはこうです。
- 長いタスクを開始する。
- ターミナルでスリープを無効化する。
- 蓋を閉じて離席する。
- あとで戻ってくる。
- 通常のスリープに戻すのを忘れる。
最後のステップが問題です。スリープ無効のままだと、休んでいると思っていたMacが電力を使い続けます。バッテリーでは不要な消耗につながり、閉じたバッグの中では熱の問題にもなります。長期的には、バッテリーにもハードウェアにも良い習慣ではありません。
日常的に使うなら、生のコマンドよりもワンボタンのアプリのほうが実用的です。
おすすめ:Macchiatoを使う
Macchiato (opens in a new tab) は、この用途のために作られた小さなmacOSメニューバーアプリです。長時間の処理中はMacを起こしたままにし、蓋を閉じた状態にも対応し、終わったら同じスイッチで通常のスリープへ戻せます。
挙動は意図的にシンプルです。
| Macchiatoの状態 | 起きること |
|---|---|
| オン | 蓋を閉じても含めて、Macが起きたままになる |
| オフ | macOSの通常の蓋閉じスリープ挙動に戻る |
ポイントはこれだけです。caffeinate を使ったのか、どのシェルタブが残っているのか、pmset でまだスリープ無効になっているのかを毎回思い出す必要がありません。
Macchiatoのインストール方法
- MacchiatoのGitHubリポジトリ (opens in a new tab) を開く。
- Releases (opens in a new tab) に移動する。
- パッケージ済みの
Macchiato.dmgをダウンロードする。 - DMGを開いて、アプリをローカルにインストールする。
- Macchiatoを起動し、メニューバーアイコンから使う。
初回利用時に、macOSのシステム設定でヘルパーの許可を求められることがあります。この許可により、スイッチを切り替えるたびに管理者パスワードを入力しなくても、必要なスリープ制御を行えるようになります。
CodexやClaude CodeでMacchiatoを使う流れ
Codex、Claude Code、または他のローカルエージェントを離席中も動かしたい場合は、次の流れにします。
- エージェントのタスク、ビルド、モデル実行、スクリプトを開始する。
- メニューバーからMacchiatoをオンにする。
- 移動や離席が必要なら蓋を閉じる。
- Macを開いてタスクの結果を確認する。
- もう継続実行が不要ならMacchiatoをオフにする。
AIコーディングでは、この方法が特に相性よく機能します。作業はローカルで進んでいるため、Macがスリープすると、シェル、ローカルサーバー、ブラウザ自動化、テストプロセスが一時停止したり止まったりする可能性があります。
Codexユーザーなら、ローカルリポジトリでコマンドを実行し、ファイルを編集し、変更を検証しているときに役立ちます。Claude Codeユーザーなら、長いビルド、テスト、自動化タスクを走らせるときに役立ちます。CodexやClaude Codeに特別なスリープ設定があるわけではありません。エージェントを動かしているMacを起こしておく必要がある、という話です。
この種のワークフローをもう少し広く理解したい場合は、Codexの使い方、並列コードエージェント、ベストVibe Codingツール も参考になります。
Macchiatoが内部でしていること
Macchiatoは、手作業で管理していたシステム挙動をアプリとして包んでいます。
通常のスリープに戻す重要なコマンドはこれです。
sudo pmset -a disablesleep 0これはmacOSに、通常のスリープを再び許可する指示です。スリープを無効化する側のコマンドは次のとおりです。
sudo pmset -a disablesleep 1Macchiatoは、macOSのパワーアサーションも使います。これにより、システムはアプリが意図的にMacを起こしていることを認識できます。アサーションを確認したい場合は、次のコマンドを使えます。
pmset -g assertions | grep Macchiato現在スリープが無効化されているか確認するには、次のコマンドも使えます。
pmset -g live | grep SleepDisabled日常的にこれらを使う必要はほとんどありません。デバッグ、動作確認、強制終了後の復旧で役立つコマンドです。
pmset を直接使うべき場面
pmset を直接使うのは、ターミナルで明示的に制御したい場合、かつ必ず元に戻せる自信がある場合に限るのがよいです。
長いタスクを放置する前に実行します。
sudo pmset -a disablesleep 1タスクが終わったら戻します。
sudo pmset -a disablesleep 0注意点は、この状態がタスクより長く残ることです。無効化コマンドを実行して忘れると、あとからMacの挙動がいつもと違うままになります。単発の管理された作業なら問題ありません。AIエージェントを繰り返し使うなら、メニューバーの見えるトグルのほうが安全です。
よくある落とし穴
落とし穴1:ディスプレイスリープとシステムスリープを混同する
画面が消えることと、Mac本体がスリープすることは同じではありません。画面が暗くても処理は動いていることがありますし、画面が消えたあとでMac本体がスリープすることもあります。バックグラウンドジョブで重要なのは、システムスリープです。
落とし穴2:caffeinate で蓋閉じスリープも防げると思う
caffeinate はアイドルスリープを防ぐ用途に便利です。蓋を閉じたときの挙動はより厳しく、残したかった作業そのものを中断する可能性があります。
落とし穴3:戻すコマンドを忘れる
pmset を直接使って通常の挙動に戻したい場合は、次を実行します。
sudo pmset -a disablesleep 0落とし穴4:閉じたバッグの中で発熱させる
蓋を閉じていても、Macが本当に作業していればCPU、ネットワーク、ディスク、バッテリーを使います。スリーブやバックパックに入れる前は、発熱とバッテリーに注意してください。
落とし穴5:すべてのタスクでスリープを止める
すべての処理でスリープを上書きする必要はありません。再開できるタスク、再実行できるタスク、クラウドで動かせるタスクなら、通常のスリープを優先したほうがよい場合があります。
トラブルシューティング
| 症状 | 確認すること | 対処 |
|---|---|---|
| 蓋を閉じるとまだスリープする | Macchiatoはオンか。ヘルパー許可は完了しているか | Macchiatoをオンにし、システム設定でヘルパーを許可する |
| Macが普通にスリープしなくなった | スリープ無効の状態が残っていないか | sudo pmset -a disablesleep 0 を実行する、またはMacchiatoをオフにする |
| Macchiatoが有効か分からない | メニューバーの状態、または pmset -g assertions を確認する | いったんオフにしてから、作業前に再度オンにする |
| バッテリーが予想外に減る | スリープが無効、または処理がまだ動いている可能性 | スリープを戻し、実行中のジョブを確認する |
| ターミナルのコマンドが前は効いたのに今は効かない | シェルセッションや権限状態が変わっている可能性 | 繰り返し使うならMacchiatoで切り替える |
安全チェックリスト
実行中のMacBookの蓋を閉じる前に、次を確認してください。
- 長時間またはCPU負荷が高い処理なら電源につなぐ。
- 作業中のMacを密閉したバッグに入れない。
- そのタスクが本当にローカルで継続する必要があるか確認する。
- ジョブが終わったらMacchiatoをオフにする。
- おかしいと感じたら
sudo pmset -a disablesleep 0で通常のスリープに戻す。
必要なときだけMacを起こしておき、それ以外はmacOSにバッテリーと熱を守らせる。これが現実的な落としどころです。
FAQ
Macをスリープさせないにはどうすればいいですか?
蓋を開いたまま一時的にスリープを防ぐだけなら、ターミナルで caffeinate を実行します。MacBookを閉じたままAIエージェント、Codex、Claude Code、長いビルドを動かしたい場合は、Macchiatoを使うか sudo pmset -a disablesleep 1 を実行し、終わったら sudo pmset -a disablesleep 0 で戻します。
MacBookの蓋を閉じてもスリープしないようにできますか?
できます。Macchiatoのような蓋閉じスリープを制御できるツールを使うか、sudo pmset -a disablesleep 1 を直接実行します。作業後は必ず sudo pmset -a disablesleep 0 で通常のスリープに戻してください。
caffeinate はMacBookを閉じたままでも効きますか?
caffeinate は主に、Macが開いている状態でアイドルスリープを防ぐためのコマンドです。蓋を閉じたMacBookで処理を続けたい場合、特にバッテリー運用では、蓋閉じスリープに対応したトグルや pmset を使うほうが適しています。
CodexがMacのスリープで止まらないようにするには?
Mac本体をシステムレベルで起こしておきます。Codexのタスクを開始し、Macchiatoをオンにし、作業が終わったらオフにします。Codex専用のスリープコマンドが必要なのではなく、Codexを動かしているMacがスリープしないことが重要です。
Claude CodeをMacBookを閉じたまま動かすには?
蓋を閉じる前にMacchiatoをオンにします。ターミナルで管理したい場合は sudo pmset -a disablesleep 1 を使えます。Claude Codeのタスクが終わったら、Macchiatoをオフにするか sudo pmset -a disablesleep 0 で通常のスリープに戻します。
AIエージェントがMacのスリープで止まるのはなぜですか?
多くのローカルエージェントは、ローカルのシェル、ファイルシステム、ブラウザ、開発サーバー、テストプロセスに依存しています。macOSがスリープすると、それらのリソースが一時停止、切断、または進行停止することがあります。
Macを蓋を閉じたまま起こしておくのは危険ですか?
管理された短時間の作業なら問題になりにくいですが、常時のデフォルトにすべきではありません。長時間の蓋閉じ実行は、特にバッテリー駆動中やバッグの中では、バッテリー消耗と発熱につながります。
通常のMacスリープに戻すコマンドは?
sudo pmset -a disablesleep 0 を実行します。スリープを無効化したあと、通常のmacOSのスリープ挙動に戻すためのコマンドです。
ターミナルコマンドではなくMacchiatoを使う理由は?
Macchiatoは、スリープ防止の状態が見えるワンボタンのスイッチです。AIエージェント、ビルド、スクリプトが終わったあとに、スリープ無効のまま戻し忘れる可能性を下げられます。
関連ガイド
- Codexの使い方
- 並列コードエージェントの解説
- 2026年のベストVibe Codingツール
- 2026年最高のAIコーディングツール15選
- AIエージェントでJupyter Notebookをデータサイエンスのコパイロットにする