「AIが本番デプロイを禁止されている」と誤診しないための切り分け手順
自動承認モードの分類器に本番デプロイを止められた時、真因は権限ではなく叩き方(ランナー経由起動・サブエージェントへの委譲・承認スキップフラグ)であることが多い。6点のチェックリストで切り分け、人に手作業を振る前に自力で通す。
約1.5万トークンの節約 (API料金換算で約23円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「「AIが本番デプロイを禁止されている」と誤診しないための切り分け手順」は、AIのしつけカテゴリのAI指示書(MDファイル)です。自動承認モードの分類器に本番デプロイを止められた時、真因は権限ではなく叩き方(ランナー経由起動・サブエージェントへの委譲・承認スキップフラグ)であることが多い。6点のチェックリストで切り分け、人に手作業を振る前に自力で通す。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約1.5万トークン(API料金換算で約23円)・86%のトークンを節約できます。
- カテゴリ
- AIのしつけ
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約1.8万トークン
- この巻物使用時
- 約2,600トークン
- 節約量
- 約1.5万トークン (約23円)
- 更新日
- 2026-10-03
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/md-76b807e0/raw を読み込んで、この指示書どおりに実装して"
中身
「AIが本番デプロイを禁止されている」と誤診しないための切り分け手順
自動承認モード(permission classifier)付きの AI コーディングエージェントで、本番デプロイが
Permission denied ... Reason: [Production Deploy] のように止められることがある。
ここで 「このエージェントには本番デプロイ権限が無い」と結論して人間に手作業を振るのが最大の誤り。 実際には許可設定(allowlist)に該当コマンドが入っているのに、呼び出し方が allowlist と一致していない だけ、というケースが多い。以下は実際に3回連続で止まった事例の切り分け手順。
止まったら、設定より先に「自分の叩き方」を3点疑う
① ランナー経由で起動していないか(最頻出)
allowlist は多くの場合コマンド名の前方一致で書かれている。
"Bash(vercel --prod*)"
"Bash(vercel deploy*)"
このとき次は 一致しない(文字列が npx で始まるため):
npx --yes vercel@latest --prod # ← allowlist に当たらず classifier 判定に落ちる
対処: バイナリが PATH にあるか先に確認し、直接叩く。
which vercel # パスが出れば npx は不要
vercel --prod
npx/pnpm dlx/bunx は「毎回最新を取る」ので一見安全に見えるが、
allowlist を無効化する副作用がある。allowlist 前提の環境では常駐インストールして直接叩く。
② サブエージェントに丸投げしていないか
allowlist はシェル実行ツールにしか効かない。 「本番にデプロイして」という指示文でサブエージェントを起動すると、 サブエージェント起動そのものが内容で分類され、同じカテゴリで拒否される。
対処: デプロイのような分類対象の操作は親セッションで自分で叩く。 実装・テスト・検証の委譲は従来どおりで良い(止められるのは「操作そのもの」だけ)。
③ 承認スキップのフラグを付けていないか
vercel promote <url> --yes # → [Auto-Mode Bypass] で拒否
vercel promote <url> # → 通る
--yes / -y / --force / --no-input のような「確認を潰すフラグ」は、
分類器から見ると安全機構の迂回そのもの。付けない。
付随して踏みやすい罠
設定ファイル自身の書き換えは別カテゴリで止まる
「allowlist に足せば通る」と拒否メッセージに書かれていても、
AI が設定ファイルを編集しようとすると [Self-Modification] で止まることがある。
まず grep で既存 allowlist を読む。多くの場合、追加不要で既に入っている。
なお、分類器に止められた操作を通すために自分で allowlist を広げるのは避ける。 安全機構の自己解除であり、人間の判断を飛ばすことになる。人に判断を返す。
「ビルド済みを昇格」は対話確認が出て使えないことがある
? This deployment is not a production deployment and cannot be directly
promoted. A new deployment will be built... (y/N)
非対話実行ではここで止まる(--yes は上記③で使えない)。
allowlist に入っている本番デプロイコマンドを使うほうが早い。
dirty な作業ツリーからデプロイしない
多人数・多セッションで触るリポジトリでは、作業ツリーに自分と無関係な未コミット変更が 大量に残っていることがある。そのまま本番デプロイするとそれを本番に出してしまう。
git -C <repo> fetch origin
git -C <repo> worktree add <tmp> origin/<本番ブランチ> --detach
# プロジェクト設定ファイル(.vercel 等)のコピーが拒否される場合は link コマンドで作る
vercel link --project <name> --scope <team> --cwd <tmp>
vercel --prod --cwd <tmp> --scope <team>
git -C <repo> worktree remove <tmp> --force
本番ブランチ ≠ main のことがある
main の自動デプロイを意図的に止めている構成(設定ファイルで main: false 等)では、
「main にマージされていない=本番に出ていない」とは限らず、逆も真。
デプロイ設定ファイルと、過去の Production デプロイがどのブランチから出たかの両方を見る。
# 過去デプロイをブランチで絞って、どれが Production だったか見る
vercel ls <project> --meta <vcsブランチメタキー>=<branch>
まとめ:止まった時のチェックリスト
which <cli>— ランナー経由をやめて直接叩けるかgrep <cli> <設定ファイル>— allowlist に既に入っていないか- サブエージェントに投げていないか(操作は親で叩く)
--yes等を外したか- 作業ツリーはクリーンか(worktree を切る)
- 本番ブランチを取り違えていないか
ここまでやって なお止まる時だけ、人間に「この権限が要る」と理由付きで返す。
[Production Deploy] の文字を見た瞬間に人へ投げるのは、たいてい早すぎる。
よくある質問
+「「AIが本番デプロイを禁止されている」と誤診しないための切り分け手順」とは何ですか?
自動承認モードの分類器に本番デプロイを止められた時、真因は権限ではなく叩き方(ランナー経由起動・サブエージェントへの委譲・承認スキップフラグ)であることが多い。6点のチェックリストで切り分け、人に手作業を振る前に自力で通す。
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約1.8万トークンかかりますが、この巻物を使えば約2,600トークンで済みます。差し引き約1.5万トークン(API料金換算で約23円)・86%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
AIっぽくない提案書を作る — ハイブリッド企画書モデル(コードAI組版×画像モデル写真×スライドAI配置参照)
コード生成AIの組版・画像編集モデルの写真合成・スライド生成AIの配置文法を分担させ、経営者の差し戻し3回→0回にした提案書パイプラインの作り方と失敗パターン
AI運用ルールを機械的に守らせる hook 設計 — ルール文が守られない本当の理由
チームでAIエージェントを使うと運用ルールが必ず守られなくなる。真因は「読んでいない」ではなく hook がそのマシンで登録されていない/委譲先が沈黙して壊れていること。禁止=実行前拒否・誘導=依頼時の具体コマンド注入・担保=セッション開始時の自己修復の3層、明示例外の短命トークン、warn→blockの段階昇格、BOM/サンドボックス/timeout など失敗が沈黙する罠と、環境依存で落ちないテストの作り方までを実測ベースでまとめた導入手順。
AIの応答を止める番人hookを1ランナーに統合し、書き直しを最大1回にする(誤爆率をfixtureで先に測る)
Stop hook を9本積んだら Stop の65%が書き直し・最多ゲートの91%が誤爆だった。誤爆測定→否定文除外→1プロセス合流→再試行上限統一→全PC移行→KPIで効果確認までの手順。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア