Skip to content

原文(日本語に翻訳)

非インタラクティブモードの利用ポリシー拒否メッセージを改善し、新しいセッションを開始するかモデルを変更することを提案するようになりました

原文(英語)

Improved the non-interactive Usage Policy refusal message to suggest starting a new session or changing your model

概要

CI/CDパイプラインやスクリプトなどの非インタラクティブ(自動化)モードでClaude Codeを実行中に利用ポリシーによってリクエストが拒否された場合、より具体的な対処方法(新しいセッションの開始またはモデルの変更)を提案するメッセージが表示されるようになりました。

基本的な使い方

bash
# 非インタラクティブモードでの実行例
claude --no-interactive "タスクを実行してください"

# 利用ポリシーで拒否された場合
# 修正前: 一般的な拒否メッセージのみ
# 修正後: 新しいセッション開始またはモデル変更の提案が含まれる

改善されたエラーメッセージの例:

Usage Policy Error: This request was refused.
Suggestion: Try starting a new session or changing your model.

実践例

CI/CDパイプラインでのエラーハンドリング

bash
#!/bin/bash
# GitHub Actionsなどでの実行
result=$(claude --no-interactive "コードをレビューしてください" 2>&1)
exit_code=$?

if [ $exit_code -ne 0 ]; then
  echo "Error: $result"
  # 修正後: エラーメッセージに対処方法が含まれているため、
  # 自動化スクリプトでの問題解析が容易になる
fi

自動化スクリプトでのモデル切り替え対応

bash
# 拒否メッセージに「モデル変更を試みてください」が含まれる場合、
# 別のモデルでリトライする戦略を実装できる
if echo "$result" | grep -q "changing your model"; then
  # 別モデルでリトライ
  claude --model claude-haiku-4-5-20251001 --no-interactive "タスク"
fi

注意点

  • この改善は非インタラクティブモード(--no-interactive フラグまたは自動化環境)での実行時のみ適用されます
  • インタラクティブモードでの拒否メッセージには別の改善がなされています
  • 利用ポリシーの内容自体に変更はありません

関連情報