CLAUDE LABEN
CHROME — Compliance API のローカルセッション取得が、Claude in Chrome のトランスクリプトにも対応しました。Enterprise 向けのベータで、9月18日の追加です2.1.278 — Claude Code は9月19日の 2.1.278 から進んでいません。auto モードの分類器がサーバーサイド既定になった版で、分類器分は課金されません11/17 — 未文書化の client-certificate フォールバック設定は11月17日で受付終了です。残り56日で、11月3日からアプリ内に警告が出ますTMPDIR — Windows の Bash には TMPDIR がありません。習慣で書かれた $TMPDIR 付きのコマンドが Permission denied で落ち、そのまま黙って再試行されているという報告ですNEW — 非推奨の通知が出た朝、設定を書き換える前にバージョンを確かめた話TOOLS — 承認をどこまで自動化するか。Claude Code の hooks と permissions、Antigravity の Deny / Ask / Allow を並べてみると、自分の線引きが決めやすくなりますCHROME — Compliance API のローカルセッション取得が、Claude in Chrome のトランスクリプトにも対応しました。Enterprise 向けのベータで、9月18日の追加です2.1.278 — Claude Code は9月19日の 2.1.278 から進んでいません。auto モードの分類器がサーバーサイド既定になった版で、分類器分は課金されません11/17 — 未文書化の client-certificate フォールバック設定は11月17日で受付終了です。残り56日で、11月3日からアプリ内に警告が出ますTMPDIR — Windows の Bash には TMPDIR がありません。習慣で書かれた $TMPDIR 付きのコマンドが Permission denied で落ち、そのまま黙って再試行されているという報告ですNEW — 非推奨の通知が出た朝、設定を書き換える前にバージョンを確かめた話TOOLS — 承認をどこまで自動化するか。Claude Code の hooks と permissions、Antigravity の Deny / Ask / Allow を並べてみると、自分の線引きが決めやすくなります
記事一覧/Claude Code
Claude Code/2026-09-22上級

消えたことになっている作業ツリーの棚卸しと、隔離の任せどころ

サブエージェントに任せた隔離作業ツリーが畳まれずに残っていました。git 2.34.1 で実測した remove の可否、消しても残るブランチ、1 ツリーあたり 12 MB の差から、棚卸しの手順と隔離の任せどころをお伝えします。

Claude Code257サブエージェント16git worktree並列実行3運用22

プレミアム記事

受託のサイト修正と、手元のアプリ側の小さな移行を、同じ機械で並行して走らせていた週でした。金曜の夜に空き容量を眺めましたら、思っていたより二桁少ない数字が出ておりました。

原因を探して git worktree list を叩きましたら、見覚えのない行が六つ並んでおりました。どれも自分では作っていない名前でした。サブエージェントに隔離を任せたときに作られ、そのまま残っていたものでした。

手が止まりました。隔離は「変更が無ければ自動で片づく」と説明されておりましたので、私は後片づけを自分の作業の外に置いていたのです。

畳む責任は、作る側ではなく残るものの側に置きます。 その夜から、隔離を任せるかどうかを決める前に、残ったときに誰がどう数えるかを先に決めるようにしております。

自動で畳まれるはずのものが、畳まれないことがあります

サブエージェントに作業を隔離させる仕組みでは、一時的な作業ツリーが作られ、変更が無ければ実行後に片づけられる、という説明になっております。実際、短い調べもののような用途では期待どおりに消えてくれます。

ところが、同じ前提で走らせ続けていると残る場合があります。同じ症状の報告が anthropics/claude-code の Issue #95644 に出ておりまして、1 セッションで六つ蓄積し、すべて変更が無い状態にもかかわらず git worktree remove --force が必要になった、という切り分けまで書かれております。

日本語で読める解説は、いまのところ「未変更なら自動で消えるので後片づけは不要」という前提で書かれたものが多く、この実測と食い違ったままです。私の環境で起きたことも、そちらに近い形でした。

自動の片づけが効く前提でいると、気づく契機がディスクの残量しかありません。ですから、まず「どういうときに畳めないのか」を手元で測るところから始めました。

contains modified or untracked files, use --force to delete it が出る境目

隔離作業ツリーの片づけは、最終的に git worktree remove が通るかどうかで決まります。そこで小さなリポジトリを作り、状態を変えながら同じコマンドを流しました。git は 2.34.1 です。

# 検証用リポジトリを作る(使い捨て)
LAB="$HOME/wtlab"; mkdir -p "$LAB/main"; cd "$LAB/main"
git init -q -b main .
printf 'node_modules/\n.next/\ndist/\n' > .gitignore
echo "hello" > README.md
git add -A && git commit -qm init
 
# ケース1: 何も置いていない作業ツリー
git worktree add -q "$LAB/wt-clean" -b feat-clean
git worktree remove "$LAB/wt-clean"      # → 成功(終了コード 0)
 
# ケース2: .gitignore 済みの成果物だけを置いた作業ツリー
git worktree add -q "$LAB/wt-ignored" -b feat-ignored
mkdir -p "$LAB/wt-ignored/node_modules/pkg"
head -c 200000 /dev/urandom > "$LAB/wt-ignored/node_modules/pkg/blob.bin"
git worktree remove "$LAB/wt-ignored"    # → 成功(終了コード 0)
 
# ケース3: 未追跡のメモを1本だけ置いた作業ツリー
git worktree add -q "$LAB/wt-untracked" -b feat-untracked
echo "scratch" > "$LAB/wt-untracked/notes.txt"
git worktree remove "$LAB/wt-untracked"
# fatal: '.../wt-untracked' contains modified or untracked files, use --force to delete it
# 終了コード 128

実測をまとめますと、次のようになりました。

作業ツリーの状態git worktree remove終了コード片づけに必要なもの
何も置いていない成功0そのまま畳めます
.gitignore 済みの成果物のみ(node_modules/ 等)成功0そのまま畳めます
未追跡ファイルが1件fatal: contains modified or untracked files128--force
追跡ファイルを変更同上128--force
git worktree lock 済みfatal: cannot remove a locked working tree128unlockremove -f -f
ディレクトリを手で削除対象が無いprune(メタデータのみ)

同じ判定を自分の環境でも取りたい場合は、git --version を先に確認していただけましたら安心です。この境目は git 側の仕様に依存しますので、手元の版で一度流しておく価値があります。

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

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
畳まれずに残った隔離作業ツリーと孤立ブランチを、読み取り専用の棚卸しで10分以内に洗い出せるようになる
未追跡のメモ1本で自動の後片づけが止まる仕組みを先に知って、ディスクが埋まってから気づく事故を防げるようになる
worktree・別クローン・同一クローンの3択を、1ツリーあたり 12 MB という差ではなく後片づけの責任の置き場所で選べるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

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

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

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

関連記事

Claude Code2026-09-04
~/.claude.json の巻き戻しは v2.1.259 で直りました。消えた設定は自分で戻します
同時に走らせたセッションが ~/.claude.json を互いに巻き戻す不具合が v2.1.259 で修正されました。消えた信頼設定と MCP を洗い出して戻すまでを、キー集合の差分を取る小さなスクリプトとあわせて書き残します。
Claude Code2026-09-03
ログのタイムゾーンを表示で寄せるか、記録で固定するか
AdMob とストアのレポートと手元のログで一日の切れ目がずれていました。表示側に寄せる方法と記録側を固定する方法を、実際に往復して選び直した判断の記録です。
Claude Code2026-08-31
無音で半分になっていた定期実行と、欠落を捕まえる突き合わせ
1日2回動いているはずのバッチが、実際には1回しか起動していませんでした。エラーは1件も出ていません。期待起動回数と実行記録を突き合わせて、無音の欠落を検出する仕組みを作ります。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます