AI活用

Claude Codeを24時間走らせるには?|Mac mini・CLAUDE.md・認証まわりの現実解

「寝る前に頼んで、朝起きたら終わっている」を、魔法ではなく運用設計として考えます。

Xで共有されていた記事は、24時間自走するAIエージェントを作るための設計図でした。印象的だったのは、「AIを賢くする」より先に、状態管理、重複防止、権限、リトライ、ログ、緊急停止を設計するべきだ、という整理です。

最近は海外でも、日本でも、「寝る前にClaude Codeへ作業を投げて、朝起きたらPRや下書きができている」という投稿を見ます。では、あれは具体的に何をしているのか。単に強いプロンプトを打っているだけではありません。

この記事では、Claude Code公式ドキュメント、海外Xで共有されているMac mini常時稼働パターン、Claude CodeのCLAUDE.mdsettings.json・Hooks・Routinesを確認しながら、24時間走るAI作業環境の現実解を整理します。特に、1PasswordやChrome認証は「バイパスする」のではなく、「認証済みセッションを安全に保持し、必要な権限だけを渡す」方向で考えます。

lightbulb

この記事を読むとわかること

  • check_circle24時間走るClaude Code環境に必要なTrigger / Workflow / Agent / Guardrail
  • check_circle最初に投げるプロンプトを「作業依頼」ではなく「運用指示」にする方法
  • check_circleCLAUDE.md.claude/settings.json、Hooksの役割分担
  • check_circle1Password / Chrome認証をバイパスせず、止まりにくくする考え方

向き:自分だけが触るMac miniで、Claude CodeやAIエージェントを長時間走らせたい方
向かない:2FAやブラウザ認証を無効化する手順を探している方。この記事では、認証を弱めずに運用摩擦を減らす方法を扱います。

結論:24時間運用は「強いプロンプト」より「ハーネス」で決まる

X記事が強調していたのは、24時間自走するAIエージェントの本質は「一度も止まらないこと」ではなく、壊れても安全に止まり、原因を残し、正しい地点から再開できることです。これは実務ではかなり大事です。

ここで言うハーネスは、AIの周りにある実行環境のことです。スケジュール、状態ファイル、権限、ログ、Hook、通知、承認ゲート。Claude Codeを24時間走らせる人たちは、このハーネスを作ってからAIに仕事を任せています。

役割Mac mini運用での例
Triggerいつ始めるか寝る前の手動開始、/loop/schedule、cron、GitHubイベント
Workflow決まった順番で進める処理取得、保存、重複除外、build、test、レポート保存
Agent判断や生成が必要な部分調査の重要度判定、原因分析、下書き作成、修正方針
Guardrailどこで止めるか最大試行回数、認証エラー停止、公開前承認、削除禁止

寝る前に投げるプロンプトは、作業内容より「止まり方」を書く

「24時間、最初に指示を出すだけで走り続けるプロンプト」は、長文の願望リストではなく、ジョブ定義に近い形にします。何をするか、どこまでやるか、何を保存するか、何が起きたら止めるかを先に書きます。

たとえば、寝る前にClaude Codeへ投げるなら、この粒度です。

これから朝7時まで、自律作業モードで進めてください。

目的:
- feature/nightly-research ブランチで、指定テーマの海外ソース調査と下書き作成を進める

必ず守ること:
- まず .agent-state/nightly-YYYYMMDD.json を作り、状態・開始時刻・現在工程を保存する
- 30分ごとに progress.md へ進捗、実行コマンド、次の作業を書く
- 各工程の完了条件を満たすまで進める
- build/test/リンク確認は実行し、結果をログへ残す
- 認証エラー、権限不足、課金、公開、送信、削除が必要になったら即停止して報告する
- 同じ失敗が2回続いたら停止する
- 朝7時、または最大コスト上限に達したら作業を止め、要約を作る

やってよいこと:
- 読み取り、下書きファイル作成、ローカルbuild/test、ローカルプレビュー

やってはいけないこと:
- main push、本番公開、外部送信、秘密情報の表示、ブラウザ認証の回避

ポイントは、「頑張って続けて」ではなく、「続け方」と「止まり方」をセットで渡すことです。朝起きて安心して見られるのは、完成品そのものより、何をしたか追跡できる状態です。

CLAUDE.mdは方針、settings.jsonは権限、Hooksは強制装置

Claude Code公式ドキュメントでは、CLAUDE.mdはプロジェクトの指示や記憶をセッション開始時に読み込むためのファイルとして説明されています。一方で、公式docsは「技術的な強制はsettings、行動指針はCLAUDE.md」と分けて考えることも示しています。

ここを混ぜると危険です。「本番を触らないで」とCLAUDE.mdに書くのは必要ですが、それだけでは物理的な制限ではありません。本当に止めたいものは、権限とHookで止めます。

ファイル/機能置く内容置かない内容
CLAUDE.mdプロジェクト概要、build/testコマンド、公開ルール、禁止方針、成果物の保存先パスワード、トークン、長すぎる手順書
.claude/settings.json許可コマンド、禁止コマンド、Hooks、環境設定秘密情報そのもの
Hooks危険操作ブロック、ログ保存、テスト実行、承認前停止曖昧な判断や長文の方針
状態ファイルjob_id、現在工程、完了工程、retry_count、last_error会話全文や認証情報

Mac miniで走らせるなら、最初はこのCLAUDE.mdで十分です

最初から巨大なAI組織を作る必要はありません。自分しか触らないMac miniであっても、まずは「何をしてよいか」「何をしてはいけないか」「どこに状態を残すか」を短く書きます。

# CLAUDE.md

## Project
このMac miniは、Yuki個人のAI作業用環境。
通常作業は下書き・調査・ローカル検証まで。公開・送信・削除は承認制。

## Commands
- 現在時刻確認: date
- Git確認: git status --short && git diff --stat
- Web記事build: npm run build
- Web記事test: npm run test:all

## Overnight mode
- 作業開始時に .agent-state/{job_id}.json を作る
- 30分ごとに progress.md を更新する
- 同じ失敗が2回続いたら停止する
- 認証エラー、権限不足、課金、外部送信、本番公開、削除は停止して報告する
- 朝7時に最終要約を作る

## Auth and secrets
- 秘密情報を表示・保存しない
- 1Passwordやブラウザ認証を回避しない
- 必要な認証が切れていたら、再試行せず人間へ戻す
- APIキーやトークンは環境変数・専用secret参照・限定権限のものだけ使う

## Do not
- mainへpushしない
- 本番公開しない
- ChatWork/X/メールへ自動送信しない
- rm -rf、force push、.env読み取りをしない
- 予算や上限が不明な長時間ループを始めない

このくらいなら、Claudeのコンテキストも圧迫しにくく、毎回読ませても邪魔になりません。細かい手順は別ファイルに分け、CLAUDE.mdは方針と入口に絞るのが現実的です。

権限プロンプトを減らすなら、危険モードではなく許可/禁止リストから始める

海外Xでもよく出てくるのが、Claude Codeの権限設定です。たしかに、毎回「このコマンドを実行してよいですか?」で止まると、寝ている間には進みません。だからといって、常用環境で広い権限を一気に渡すのは危険です。

Claude Code公式のsettings.jsonでは、permissions.allowpermissions.denyを設定できます。実務では、build/test/git statusのような安全な反復操作は許可し、削除、強制push、秘密情報読み取り、本番操作は明示的に拒否します。

{
  "permissions": {
    "allow": [
      "Bash(git status*)",
      "Bash(git diff*)",
      "Bash(npm run build)",
      "Bash(npm run test:all)",
      "Bash(python3 scripts/*.py*)"
    ],
    "deny": [
      "Bash(rm -rf*)",
      "Bash(git push --force*)",
      "Bash(git push origin main*)",
      "Read(./.env*)",
      "Read(./secrets/**)",
      "Read(~/.ssh/**)",
      "Read(~/Library/Application Support/Google/Chrome/**)"
    ]
  }
}

ここはかなり大事です。--dangerously-skip-permissionsのような全体バイパスを日常運用にするより、「安全な反復だけ通す」「危険な操作は絶対止める」に寄せた方が、朝起きて確認しやすくなります。

1Passwordは「Touch IDを突破」ではなく、用途を分ける

個人的に気になる点として、1PasswordのTouch IDがあります。ここは結論をはっきり分けます。Touch IDを回避する、2FAを弱める、Vault全体をAIに見せる、という設計はおすすめしません。

現実解は、用途を分けることです。人間が初回ログインするもの、APIキーで動かすもの、1Password CLIや専用のsecret参照で読むもの、そもそも夜間は止めるものを分けます。認証エラーは「頑張って再試行」ではなく「即停止して報告」が安全です。

やりたいこと現実的な扱い避けたい扱い
自分用サービスのログイン最初に人間がログインし、セッションが有効な範囲だけ使うAIにパスワードやOTPを読ませる
API連携限定権限のAPIキー、service account、環境変数、secret参照個人アカウントの全権限トークンを渡す
夜間作業認証が切れたら停止し、再開方法をログに残すTouch ID要求を回避しようとして無限リトライ
Vaultアクセス必要な項目だけを専用Vault/専用Itemへ分ける個人Vault全体を読める状態にする

Mac miniが自分専用でも、AIに渡す権限は「自分の代わりに全部できる」では広すぎます。24時間動くからこそ、夜間に使う鍵は小さくする。この考え方が安全です。

Chrome認証は、バイパスではなく「専用プロファイル+セッション保持」で考える

Chromeまわりも同じです。認証をバイパスするのではなく、AI作業専用のブラウザプロファイルを作り、必要なサービスだけ初回ログインし、そのセッションが残っている範囲で動かします。ログインが切れたら止まる。これが基本です。

自分しか触らないMac miniなら、個人利用としては「AI作業用のmacOSユーザー」「AI作業用Chromeプロファイル」「AI作業用Googleアカウントや権限限定アカウント」を分けるのが現実的です。普段使いのChromeプロファイルをそのままAIに渡すより、事故範囲を小さくできます。

security

Chrome認証での安全ライン

「ログイン済みセッションを使う」は現実的です。ただし、「パスワード・Cookie・Chromeプロファイルの中身をAIに読ませる」「認証画面を回避する」は別物です。夜間に必要な作業は、できるだけAPIや専用アカウントへ逃がし、ブラウザ操作が必要な部分は人間が初回だけ整えるのが安全です。

24時間運用の実行方法は、3つに分けて選ぶ

Claude Code公式docsでは、/loop、Routines、Desktopのスケジュール済みタスク、Agent SDKなど複数の入口が説明されています。全部を同じ用途で使うのではなく、試作、ローカル常駐、クラウド実行で分けるのが自然です。

方法向く用途注意点
/loop短時間の監視、デプロイ確認、PR状態確認、試作セッション依存。永続本番運用の完成形にはしない
Desktop scheduled taskMac mini上のローカルファイルやアプリを使う定期作業Macの電源・スリープ・認証状態に左右される
Routinesスケジュール、API、GitHubイベントで走るクラウド実行接続リポジトリ、コネクタ、ネットワーク権限を絞る
Agent SDK自社アプリや独自ジョブ管理に組み込む状態管理、キュー、監視、secret管理は自分で設計する

Mac miniの理想形は「いつでも触れる小さな作業部屋」

自分専用のMac miniを使うなら、かなり相性は良いです。ローカルファイル、ブラウザ、1Password、開発環境、スクリーン共有をまとめて置けるからです。ただし、普段使いのMacをそのままAIに触らせるより、AI用の作業部屋として区切る方が安心です。

整えておきたいもの

  • ・AI作業用macOSユーザー
  • ・AI作業用Chromeプロファイル
  • ・専用作業フォルダとGit worktree
  • .agent-state/logs/
  • ・スリープしにくい電源設定
  • ・TailscaleやScreen Sharingなどの監視手段

最初から渡さないもの

  • ・個人Vault全体
  • ・本番削除権限
  • ・SNS自動投稿権限
  • ・決済/購入権限
  • ・普段使いChromeプロファイル全体
  • ・無制限のシェル実行

最初の1回だけ人間が認証し、以後は認証済みセッションと限定権限で走る。この形は現実的です。ただし、認証が切れたら止まる設計にします。止まることは失敗ではなく、安全装置です。

本番投入前のチェックリスト

X記事の15項目チェックリストを、Mac mini + Claude Code運用向けに噛み砕くと、まずはこのあたりです。全部できていないなら、24時間完全自動ではなく、1時間の半自動から始める方が安全です。

  • ・1ジョブに一意のjob_idがある
  • ・状態を.agent-state/*.jsonなど会話外に保存している
  • ・途中再開できる
  • ・同じ投稿、同じメール、同じpushを二重実行しない
  • ・各工程に完了条件がある
  • ・認証エラー、権限不足、予算超過は再試行せず止まる
  • ・一時エラーだけ最大2〜3回リトライする
  • ・build/test/リンク確認など、機械で確認できる検証がある
  • ・公開、送信、削除、課金は人間承認まで止まる
  • ・朝起きたときに、何をしたかログで追える
  • ・緊急停止方法がある

まとめ:夜に任せるなら、朝に説明できる形で任せる

  • ・24時間自走の本質は、AIが止まらないことではなく、止まるべきときに安全に止まり、原因を残して再開できることです。
  • ・寝る前のプロンプトには、作業内容だけでなく、状態保存、ログ、完了条件、停止条件、承認ゲートを書きます。
  • CLAUDE.mdは行動方針、settings.jsonは権限制御、Hooksは強制装置として分けると安定します。
  • ・1PasswordやChrome認証はバイパスせず、初回ログイン済みセッション、専用プロファイル、限定権限、API/secret参照で摩擦を減らします。
  • ・Mac miniは24時間AI作業部屋として相性が良いですが、個人環境全体を渡さず、AI専用ユーザー・専用フォルダ・専用ブラウザに分けるのが現実解です。

i-Styleでは、AIエージェントの価値は「夜も働くこと」そのものではなく、翌朝に人間が安心して引き継げることにあると見ています。何をしたか、どこで止まったか、次に何をすればよいか。それが残る設計こそ、半年後の働きやすさに効いてくるはずです。

参考リンク

AIエージェント運用を、自社サイズで設計しませんか

i-Styleでは、AIツールの導入だけでなく、どの業務をAIへ任せ、どこをコードで固定し、どこで人間承認に戻すかまで含めて設計します。まずは、夜間に任せたい作業を1つに絞って、状態管理と安全停止の型から作れます。

お問い合わせページへarrow_forward

問い合わせ前に、i-Styleサポートデスクbotでも相談できます

「Mac miniでどこまで自動化できるか」「認証まわりをどう分けるか」など、軽い確認はサポートデスクbotでも相談できます。

i-Styleサポートデスクbotで聞くarrow_forward

関連記事