原文(日本語に翻訳)
claude --dangerously-skip-permissions daemon <subcommand> が daemon サブコマンドを実行する代わりに、チャットプロンプトとして扱われてしまっていた問題を修正
原文(英語)
Fixed claude --dangerously-skip-permissions daemon <subcommand> being treated as a chat prompt instead of running the subcommand
概要
Claude Codeには、バックグラウンドセッションを管理するスーパーバイザープロセスの状態確認・停止を行う claude daemon status や claude daemon stop --any といったサブコマンドがあります。しかし、--dangerously-skip-permissions(または --allow-dangerously-skip-permissions)フラグを先頭に付けて claude --dangerously-skip-permissions daemon status のように実行すると、daemon status という文字列がサブコマンドとして解釈されず、そのまま「daemon status」という新しい対話セッションのプロンプトとして扱われてしまう不具合がありました。claude コマンドをこのフラグ付きでエイリアス化している環境では特に発生しやすいパターンでした。修正後は、先頭に --dangerously-skip-permissions または --allow-dangerously-skip-permissions が付いている場合でも、daemon サブコマンドが正しくルーティングされ実行されるようになりました。
基本的な使い方
# 修正前
claude --dangerously-skip-permissions daemon status
# ❌ "daemon status" という文字列がチャットプロンプトとして送信され、
# 新しい対話セッションが「daemon status」というお題で開始してしまう
# 修正後
claude --dangerously-skip-permissions daemon status
# ✅ daemon サブコマンドとして解釈され、
# スーパーバイザーの状態(バージョン・ソケットディレクトリ・稼働ワーカー数など)が出力される実践例
claudeを常にフラグ付きでエイリアスしている環境でのdaemon操作
# ~/.bashrc や ~/.zshrc で以下のようにエイリアスしている場合
alias claude='claude --dangerously-skip-permissions'
# 修正前は次のコマンドが意図通り動かなかった
claude daemon status
# ❌ 実質的に `claude --dangerously-skip-permissions daemon status` となり、
# チャットプロンプトとして誤解釈されていた
# 修正後は正しく daemon サブコマンドとして動作する
claude daemon statusバックグラウンドセッションのスーパーバイザーを再起動する
# アップデート後にスーパーバイザーを新しいバージョンへ切り替える
claude --dangerously-skip-permissions daemon stop --any --keep-workers
# ✅ --keep-workers を付けているため、稼働中のバックグラウンドセッションは
# 維持されたまま、次の claude agents で新しいスーパーバイザーが起動するCI・自動化スクリプトからdaemonの状態を確認する
# 権限プロンプトを避けたい自動化スクリプト内での診断コマンド
if ! claude --dangerously-skip-permissions daemon status; then
echo "supervisor unreachable" >&2
exit 1
fi注意点
- この挙動が適用されるのは、先頭のフラグが
--dangerously-skip-permissionsまたは--allow-dangerously-skip-permissionsの場合のみです。それ以外のフラグが先頭にある場合は、これまで通り通常の対話セッションが開始されます --dangerously-skip-permissionsは全ての権限確認をスキップする強力なフラグです。daemonサブコマンド呼び出しに限らず、利用は信頼できる環境に限定してくださいclaude daemon statusやclaude daemon stop --any自体の使い方(サブコマンドの一覧やオプション)は本修正で変わっていません