原文(日本語に翻訳)
非gitリポジトリで WorktreeCreate フックが実行される前に --worktree がエラーで終了する問題を修正しました。
原文(英語)
Fixed --worktree exiting with an error in non-git repositories before the WorktreeCreate hook could run
概要
--worktree オプションをgit管理外のディレクトリで使用すると、WorktreeCreate フックが実行される前にエラーで終了してしまう問題が修正されました。これにより、フックを使って非gitディレクトリでもワークツリーのセットアップ処理を行えるようになります。
基本的な使い方
非gitリポジトリで --worktree を使用する際の基本的なコマンド:
bash
claude --worktree /path/to/non-git-directory修正前はこの状況でエラーが発生し、WorktreeCreate フックが実行されませんでした。修正後はフックが先に実行されるようになります。
実践例
ユースケース: WorktreeCreateフックで非gitディレクトリを初期化する
.claude/settings.json でフックを設定して、非gitディレクトリを自動的にgitリポジトリとして初期化する:
json
{
"hooks": {
"WorktreeCreate": [
{
"command": "git init && git add . && git commit -m 'Initial commit'"
}
]
}
}このフックが --worktree 起動時に先に実行され、ディレクトリをgit管理下に置いてからClaude Codeが動作します。
ユースケース: カスタムプロジェクト構造のセットアップ
bash
#!/bin/bash
# WorktreeCreateフックスクリプト
# 非gitディレクトリに必要な設定を追加
if [ ! -d ".git" ]; then
git init
git add -A
git commit -m "Initial commit for Claude Code worktree"
fi注意点
- この修正により、
WorktreeCreateフックが期待通りの順序で実行されます - 非gitディレクトリで
--worktreeを使用する際は、WorktreeCreateフックでgitの初期化を行うことを推奨します - フックがない場合の動作は以前と同様です