force_value + hide_property in tool_usage_limits does not inject value at tool execution time
(Written with the help of Claude Sonnet 4.6)
I've been testing AI Search (1.3.0-alpha3) with AI (1.5.x-dev) and I think I have found an issue.
After creating a search assistant pointing at a vector DB index, it does not work.
I looked at the configuration of the AI agent that was created when I created the assistant, and it looks like if both force_value and hide_property are enabled, the forced value is never actually injected when the tool executes. The result is a validation error:
> Invalid value for [parameter] in [tool]: This value should not be null.
Claude seems to think this is a more generic issue affecting all tools.
> Steps to reproduce:
>
> 1. Create an AI agent that uses the ai_search:rag_search tool
> 2. In the agent's tool usage limits, set the index parameter to force_value with a specific index name and enable hide_property
> 3. Trigger the agent and check the AI log
>
> Expected behavior: The forced index value is silently injected server-side when the tool executes.
>
> Actual behavior: The parameter is hidden from the LLM (correctly omitted from chat_tools) but the forced value is never applied at execution time, so the tool receives a null index and fails validation. The AI log shows tool_settings: { }.
>
> Workaround: Uncheck hide_property for the forced parameter, allowing the LLM to see and populate it.
In my case, unchecking the "Hide property" checkbox fixed the issue for me. Is this an issue with how the agent is created by the assistant, or a more generic issue as Claude suggests?
-mike
issue