Tool Selection validates that the tool calls an LLM generates are correct and safe before they’re allowed to execute. It acts as a safety net against LLM hallucinations: if the model invents a tool that doesn’t exist or produces arguments that don’t match the declared schema, Tool Selection detects and blocks the call before the agent runs it. The check runs after the model emits a response — it parses the declared tools (from the request) and the tool calls (from the response) according to the provider’s format (OpenAI, Anthropic, etc.), then applies a layered validation.Documentation Index
Fetch the complete documentation index at: https://docs.neuraltrust.ai/llms.txt
Use this file to discover all available pages before exploring further.
The three validation layers
Tool Selection verifies a tool call on three levels, in order:- Name validation — the invoked tool exists in the list of declared tools in the request. Catches hallucinated tool names.
- Schema validation — the arguments the model passed comply with the tool’s declared JSON schema. Catches type errors, missing required fields, and out-of-range values.
- Semantic validation — a secondary LLM evaluates whether the call is coherent and safe in the context of the ongoing conversation. Catches prompt-injection-driven tool hijacking where the call is schematically valid but contextually wrong.
Where it lives in the picker
Tool Selection sits under the Agent Security category inCreate Policy → When, alongside Tool Permission and Tool Guard.
Attach it to a policy and set the outcome in the Then step:
Log— observe validation failures without blocking.Block— reject the LLM response (and therefore the tool call) when a layer fails.
Configuration
Tool Selection is automatically configured when enabled — all three validations are active by default: name, schema, and semantic.| Requirement | Purpose |
|---|---|
| OpenAI API key | The semantic-validation layer uses an OpenAI model as the secondary evaluator. A valid OpenAI API key must be configured in your team settings; if it isn’t, semantic validation is skipped and only name + schema validation run. |
How it fits with the other tool controls
| Tool permission | Tool guard | Tool selection | |
|---|---|---|---|
| When | Before the LLM plans | Before the LLM plans | After the LLM emits a call |
| Watches | The tools array in the request | System prompt + tool descriptions in the request | The tool call in the response |
| Catches | Unauthorized tools reaching the model | Jailbreaks planted in the agent’s definition | Hallucinated tools, schema violations, manipulated calls |
Pairs well with
- Tool permission — eliminate unauthorized tools so Tool Selection only has to validate calls to approved ones.
- Tool guard — upstream scan of system prompt and tool descriptions.
- Observability — trace which validation layer (name / schema / semantic) caused a block.