
Kiro CLIに「No tool with "dummy" is found」と言われたら
はじめに
皆様こんにちは、あかいけです。
以前Kiro CLIでカスタムエージェントを動かしていたところ、こんなエラーが繰り返し出力される状況に遭遇しました。
Tool validation failed:
No tool with "dummy" is found
「dummy」ってなんだろう…?もちろん"dummy"なんて名前のツールを定義してはいませんし、なんでこうなるのか最初は全くわかりませんでした。
結果としてかなり初歩的な話でしたが、意外と関連するブログが無さそうだったので備忘としてブログにします。
確認バージョンについて
本事象はkiro-cli 1.27.2で確認しました。
前後のバージョンでもツール周りで類似バグが複数報告されており、この時期はやや不安定だったようです。
- 1.25.0: チャットセッションで同様の
dummyエラーが発生(Issue #5476) - 1.26.2: ワークスペース定義エージェントの
allowedToolsが機能しない(Issue #6055) - 1.28.1: カスタムエージェントの
allowedToolsが丸ごと無視されてツールが0件になる(Issue #6714)
最新バージョンでは既に修正されている可能性もありますが、もし同じエラーに遭遇した場合は後述のallowedTools設定を確認してみてください。
結論と対処方法
結論から言うと、エージェント設定ファイル(.kiro/agents/*.json)にallowedToolsの設定が漏れていたのが原因でした。
allowedToolsを追加することで解消します。
{
"name": "tool-name",
"tools": [
"read",
"write",
"shell",
"glob",
"grep"
],
"allowedTools": [
"read",
"write",
"shell",
"glob",
"grep"
]
}
toolsとallowedToolsの違い
Kiro CLIのエージェント設定では、ツール関連のフィールドが2つあります。
| フィールド | 役割 |
|---|---|
tools |
エージェントが使用できるツールを列挙する |
allowedTools |
ユーザーの承認なしに自動実行できるツールを指定する |
toolsはいわば「このエージェントはこれらのツールを使うかもしれません」という宣言です。ワイルドカード*で全ツールを指定することもできます。
一方、allowedToolsは「これらのツールは確認なしで実行してよい」という事前承認リストです。こちらは*によるワイルドカード指定ができないため、許可するツールを個別に列挙する必要があります。
allowedToolsが存在しない場合、toolsに列挙したツールを使おうとするたびにユーザーへの確認が発生します。
なお、公式ドキュメントには「allowedToolsを省略した場合はすべてのツール使用時にユーザー承認が必要になる」と記載されており、ツールが完全に使えなくなるわけではありません。
ただし実際には、後述するような"dummy"エラーが発生してツール呼び出しが全く機能しないケースが報告されています。
なぜ「dummy」なのか
allowedToolsがない状態でエージェントがツールを呼び出そうとすると、No tool with "dummy" is foundというエラーが出続けます。
公式ドキュメントにはこの"dummy"という文字列の説明はありませんが、Kiro CLIのIssueには同様の事象が複数報告されており、カスタムエージェントのallowedTools設定が正しく読み込まれない場合にこのエラーが発生することが確認されています。
またdummyという名称については、おそらく内部的にツールが利用不可の状態をプレースホルダーとしてdummyという名前で扱っているというだけな気がしますが、詳細な実装については不明です。
エラーログを見ると、同じメッセージが何度も繰り返されます。モデルは諦めずに何度もツール呼び出しを試みますが、毎回同じエラーになるという状態です。
実際の会話ログはこんな感じです。
私が今回のエラーに遭遇した際は、モデルはツールが使えないと判断すると、最終的にコードをテキストとして回答するというフォールバック動作をとりました。
> まずスキルの定義を確認します。
Tool validation failed:
No tool with "dummy" is found
> スキルファイルの読み取りツールが利用できないようなので...
Tool validation failed:
No tool with "dummy" is found
> ツールが利用できない状態のようですので、コード内容をお伝えします。
(ここでモデルがテキストとしてコードを出力するが、ファイルは作成されない)
確認すべきポイント
エージェント設定ファイルを確認する際のチェックリストです。
以下の順で確認してみてください。
1. allowedToolsフィールドが存在するか
まずallowedToolsフィールドが存在するか確認しましょう。
2. 使いたいツールがallowedToolsに含まれているか
例としてファイルを作成したい場合はwrite、コマンドを実行したい場合はshellが必要です。
{
"tools": ["read", "write", "shell", "glob", "grep"],
"allowedTools": ["read", "write", "shell", "glob", "grep"]
}
3. MCPサーバーもallowedToolsに含める場合は@{サーバー名}形式で指定する
MCPサーバーのツールを許可する場合、@サーバー名(サーバー全体)または@サーバー名/ツール名(特定ツール)の形式で指定します。
{
"tools": ["read", "write", "@mcp-name"],
"allowedTools": ["read", "write", "@mcp-name"]
}
さいごに
以上、Kiro CLIでNo tool with "dummy" is foundが出たときの対処方法でした。
toolsとallowedToolsの2フィールドが必要という仕様は、慣れないうちは見落としがちです。
特にサンプルのエージェント設定をベースにカスタマイズする場合は、allowedToolsが意図どおりに設定されているかを最初に確認してみてください。
同じ事象で困っている方の助けになれば幸いです。










