Skip to content

原文(日本語に翻訳)

--print モードがエージェントの tools: および disallowedTools: フロントマターを尊重するようになり、インタラクティブモードの動作と一致するようになった

原文(英語)

--print mode now honors the agent's tools: and disallowedTools: frontmatter, matching interactive-mode behavior

概要

--print モードで --agent フラグを使ってエージェントを指定する際、エージェント定義のフロントマターに記載された tools:disallowedTools: の設定が正しく適用されるようになった。これにより、インタラクティブモードと --print モードで一貫したツール制限が保証される。

基本的な使い方

エージェント定義ファイル(例:.claude/agents/reviewer.md)のフロントマターでツールを制限:

yaml
---
name: reviewer
description: コードレビュー専用エージェント
tools: [Read, Grep, Glob]
disallowedTools: [Write, Edit, Bash]
---

あなたはコードレビュー専門のエージェントです。ファイルの読み込みと検索のみを行い、変更は加えません。

--print モードで使用しても、上記のツール制限が適用される:

bash
claude --agent reviewer --print "このコードの問題点を教えてください"

実践例

読み取り専用の自動化エージェント

yaml
# .claude/agents/readonly-analyzer.md
---
name: readonly-analyzer
description: 読み取り専用の分析エージェント
tools: [Read, Glob, Grep]
disallowedTools: [Write, Edit, Bash, WebFetch]
---

コードを読み込み、分析結果を提供します。ファイルの変更やコマンド実行は行いません。

CI/CDでの活用:

bash
# 自動化スクリプトで安全に使用
claude --agent readonly-analyzer --print \
  "src/ディレクトリのコード品質を評価してください" \
  > quality-report.md

セキュリティレビュー専用エージェント

yaml
# .claude/agents/security-reviewer.md
---
name: security-reviewer
description: セキュリティレビュー専用
tools: [Read, Grep, Glob]
disallowedTools: [Bash, Write, Edit, WebFetch, WebSearch]
---

セキュリティ観点からコードをレビューします。外部への通信やファイル変更は行いません。
bash
claude --agent security-reviewer --print \
  "認証周りのコードに脆弱性がないか確認してください" \
  > security-review.md

インタラクティブモードと--printモードの一貫性確認

以前は同じエージェントでもモードによってツール制限が異なる場合があったが、今後は両モードで同じ動作が保証される:

bash
# どちらも同じツール制限が適用される
claude --agent reviewer  # インタラクティブモード
claude --agent reviewer --print "..."  # printモード

注意点

  • tools: にリストされたツールのみが使用可能になる(ホワイトリスト方式)
  • disallowedTools: に記載されたツールは使用不可になる(ブラックリスト方式)
  • tools:disallowedTools: の両方を指定した場合、disallowedTools: が優先される
  • この修正によりインタラクティブモードと --print モードの動作が統一されたため、既存のエージェント定義を変更する必要はない

関連情報