◉CLAUDE LABEN
●2.1.296 — Sonnet 5.5 のキャッシュ読み取りが $0.10/Mtok に(従来 $0.20)。MCP の説明上限も 4,096 文字になりました●2.1.295 — hook に onFailure: "block" が追加。起動失敗や想定外の終了でも通さず止められます●SONNET 4.5 — Claude API での提供終了は 11/30、残り51日。移行先は Sonnet 5.5●Q&A — 出力を追記するたびにコンソールが履歴の先頭へ戻る、という報告が長く続いています●HAIKU 5.5 — Haiku 4.5 向けコードは budget_tokens が 400 エラーになる点に注意●NEW — 最初の依頼文が毎回ちぐはぐなときは、「仕事の説明」を1枚だけ先に渡す●2.1.296 — Sonnet 5.5 のキャッシュ読み取りが $0.10/Mtok に(従来 $0.20)。MCP の説明上限も 4,096 文字になりました●2.1.295 — hook に onFailure: "block" が追加。起動失敗や想定外の終了でも通さず止められます●SONNET 4.5 — Claude API での提供終了は 11/30、残り51日。移行先は Sonnet 5.5●Q&A — 出力を追記するたびにコンソールが履歴の先頭へ戻る、という報告が長く続いています●HAIKU 5.5 — Haiku 4.5 向けコードは budget_tokens が 400 エラーになる点に注意●NEW — 最初の依頼文が毎回ちぐはぐなときは、「仕事の説明」を1枚だけ先に渡す
記事一覧/Cowork
◈ Cowork/2026-09-18中級

Cowork と Claude Code のどちらに置くかを、承認の挟まり方で決めています

同じ Claude が動く Cowork と Claude Code を、機能の比較ではなく「途中で人の承認が挟まってよいか」で置き分けている基準と、無人の面に残す書き方を実例つきでお伝えします。

Cowork43Claude Code260スケジュールタスク25権限設計6自動化87

前夜に走らせた定期実行のログを、翌朝いちばんに開く習慣があります。ある朝に開いたファイルは、見出しの一行だけで終わっていました。処理が落ちたのではなく、途中で待っていたのです。

原因を辿ってみますと、設定の書き間違いではありませんでした。私がその作業を置いた場所が違っていました。手元で対話しながら動かすぶんには何の問題もない手順を、誰も画面を見ていない時間帯へ、そのまま移していたのです。

Cowork と Claude Code は、どちらも同じ Claude が動きます。ですから「どちらが優れているか」という問いは、私の場合ほとんど役に立ちませんでした。役に立ったのは、その作業の途中で人の承認が挟まってよいのか、挟まっては困るのか——この一点だけでした。

承認が挟まってよい作業と、挟まると止まる作業

承認は安全装置です。人が画面を見ている面では、期待どおりに働きます。消してはいけないファイルに手が伸びたとき、いちど止めてくれるからです。

ところが同じ安全装置は、誰も見ていない時間帯には別のふるまいに変わります。止まるのではなく、待ち続けます。待っているだけですので、例外も残らず、失敗として通知もされません。翌朝のログが見出しだけで終わっている、というかたちで初めて分かるのです。

この「待ちが終端になる」現象は、私の手元に限った話ではないようです。普通の拒否ルールを一つ置いただけで、cd と相対パスの読み取りを含む複合コマンドが毎回承認を求めて止まる、という報告が上がっています(claude-code Issue #91650)。危険な動作そのものではなく、コマンドの組み立て方に判定が当たってしまう例です。定期実行を組む方には、他人事ではない挙動だと思います。

無人の面に置いて、私が引き上げた作業

個人開発で長く運用している壁紙アプリでは、配信前の素材整理に決まった手順があります。対話でその手順を組み上げたとき、私はうまくいった勢いのまま、同じ手順を定期実行へ移しました。

結果は芳しくありませんでした。ファイルの読み書きに専用の編集ツールを使っていたため、実行のたびに許可を尋ねられ、そこで終わっていたのです。対話の面では「はい」を押すだけの一手でしたが、無人の面ではそれが終端でした。

いま思えば、移したのは手順ではなく、対話を前提にした癖のほうだったのだと気づきます。そこで線を引き直しました。

無人の面には、途中で人に尋ねる手順を一つも残しません。 尋ねる必要がある作業は、尋ねる直前で切って、対話の面へ渡します。

書き換えの中身は、ファイル操作をシェルの cat と sed に寄せる、という地味なものでした。auto モードの内部指示にも、専用の編集ツールではなく sed や短いヒアドキュメントで書き換えるよう記された箇所が見つかったという報告があり(Issue #88041)、方向としては同じだと感じました。ただ私の理由は速さではなく、承認の入り口を一つ減らせることにあります。

いま使っている置き分けの基準

機能の一覧を並べて比べるのはやめました。代わりに、作業の性質を一行で言い切って、置く場所を決めています。

作業の性質置く場所そう決めた理由
毎日同じ時刻に同じ形で回す(素材の書き出し、集計の更新)Cowork の定期タスク承認を挟まない形に最初から書き切れる
途中で人の判断が要る(公開してよいか、消してよいか)対話の面(Cowork か Claude Code)承認が安全装置として本来の働きをする
手順がまだ固まっていない、試している段階Claude Code失敗を見ながらその場で直せる
リポジトリに手を入れる(差分を読んで直す)Claude Code差分を確かめてから止める判断ができる
外部サービスとの接続設定を直す対話の面再認証や接続状態の確認に画面が要る
OS やアプリの更新を当てた直後どちらも動かさず、まず手で確かめる環境側の変化は自動化の外側にある

下の二行は、あとから足したものです。接続の修復は CLI では扱えてもデスクトップの面からは届かない、という指摘があります(Issue #54136)。また Windows の累積更新を当てたところ、共有フォルダが一つもマウントされなくなったという報告もあります(Issue #92984)。私自身が踏んだわけではありませんが、いずれも「自動化の中では直せない層」の話ですので、更新の翌朝は定期タスクの結果より先に、手でフォルダを開くようにしています。

なお「見ながら頼むか、任せて離れるか」という軸そのものについては、Claude in Chrome と Cowork の使い分け — 「見ながら頼む」か「任せて離れる」かでも別の角度から書き残しています。

無人の面に残す書き方

置き分けを決めたあと、無人側のスクリプトには三つだけ約束を持たせました。承認の入り口を作らないこと、書けたことを別の手段で確かめること、そして終端で必ず一行残すことです。

#!/usr/bin/env bash
set -u
OUT="$HOME/reports/$(date +%Y-%m-%d)_summary.txt"
mkdir -p "$(dirname "$OUT")"
 
# 書き込みは専用ツールではなくシェルで行い、承認の入り口を作らない
cat <<'EOF' > "$OUT"
# 本日の棚卸し
status: pending
EOF
 
# 書けたことを、戻り値ではなく実体で確かめる
if [ -s "$OUT" ]; then
  echo "OK wrote $(wc -c < "$OUT") bytes -> $OUT"
else
  echo "FAILED empty output -> $OUT" >&2
  exit 1
fi

期待する出力は OK wrote 37 bytes -> /Users/you/reports/2026-09-18_summary.txt のような一行です。

なぜこう書くのか、三つの理由を順に補足します。ヒアドキュメントの区切りを <<'EOF' とクォートしているのは、本文中の $ やバッククォートを展開させないためです。クォートを落とすと、書き出したはずのログが空になったり、途中で切れたりします。

-s で確かめているのは、成功の戻り値と、実際に書かれたことが別だからです。書き込み系のツールが成功を返しながらファイルが存在しない、という報告も残っています(Issue #81538)。戻り値は「呼べた」ことしか教えてくれません。

終端で一行残しているのは、何も書かれていないログでは「動かなかった」と「動いて何も見つからなかった」を区別できないからです。この区別がつかないと、翌朝に読む側が毎回ゼロから調べ直すことになります。

もう一つ、小さな作法があります。複合コマンドを一行に繋げないことです。

# 承認判定が先頭の cd に当たって止まることがあるため、繋げずに分けます
cd "$WORK" || exit 1
git add content/
git commit -m "update: daily inventory"

一行に繋げたほうが短くはなります。それでも分けているのは、止まったときにどの行で止まったのかがログから読めるからです。無人の面では、短さより読み返せることを取っています。定期タスクそのものの組み方はCowork スケジュールタスク運用の実際 — 朝のダイジェストと週次レポートを無人で回すまでにまとめてあります。

対話の面は、許可の粒度で軽くする

無人側を承認ゼロにすると、対話側にはむしろ承認が増えます。ここを重くしすぎると、こんどは自分の手が止まります。私は許可を広く開けるのではなく、細かく開ける方向で調整しました。

{
  "permissions": {
    "allow": [
      "Bash(git status)",
      "Bash(git diff:*)",
      "Read(./content/**)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./**/*.pem)"
    ]
  }
}

読み取り専用のコマンドだけを名前で許可し、秘密を含むファイルは拒否で塞ぐ、という形です。ただし拒否を足すと、その対象に触れ得る複合コマンドまで承認待ちになることがあります(先の Issue #91650)。拒否は万能の盾ではなく、日々の手数と引き換えになる設定なのです。無人実行で確認要求そのものをどう捌くかは無人実行で auto モードの確認要求を止めずに捌く — permission-prompt-tool で deny-by-default に応えるに書いてあります。

止める場所は一つに、尋ねる場所は人が見ている時間帯に。 置き分けの基準を一文に縮めると、私の場合これになります。

最初に移す作業は、一つだけ

いま対話で回している作業を見渡して、途中で一度も「はい」を押していないものを一つだけ選んでみてください。それだけを定期実行へ移し、一週間そのままにしておく——これが私のおすすめする最初の一歩です。二つ目を移すのは、一つ目のログが七日ぶん揃ってからでも遅くありません。

私自身、境界を引き直すたびに前の自分の雑さに気づかされます。同じところで手が止まっている方に、何か一つでも持ち帰っていただけましたら幸いです。お読みいただきありがとうございました。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

◈ Cowork2026-09-16
定期タスクが動く日と動かない日があったのは、フォルダを1つ指定していたからでした
Cowork の定期タスクは既定でリモート実行ですが、手元のファイルやアプリを必要とした瞬間に端末実行へ切り替わります。作成画面の最後の一項目が実行場所を決めている仕組みと、タスクを作る前に決めておきたい三つの問いを書き残します。
◈ Cowork2026-10-01
定期タスクの手順書を削る前に、その一冊が何回読み直されるかを数えました
前読みの手順書を13KB削った見積もりは、再読込で数え直すと呼び出し約1.3回ぶんでした。削る前に何回読み直されるかを数える台帳と、実行中に読み込み量を残す関数をお伝えします。
◈ Cowork2026-09-24
Cowork の定期タスクは、来週の土曜にも動きますか
一度で止まる定義、1本に詰めた二つの時刻、書き換えで空いた曜日。Cowork のスケジュールタスクは、ログに何も残さないまま欠けることがあります。定義を台帳に書き写し、意図と突き合わせる点検スクリプトを動くコードでまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます