On staging (Daytona), Claude runs still defer the agenta-tools MCP tools behind Claude's ToolSearch tool. The runner is meant to turn that off: applyClaudeConnectionEnv in services/runner/src/engines/sandbox_agent/runtime-policy.ts sets ENABLE_TOOL_SEARCH=false for every Claude run.
What happens
Staging QA of v0.121.2 used Claude Haiku on Daytona with an Agenta-managed key. Before its first call to each Agenta tool, Haiku called ToolSearch, for example select:mcp__agenta-tools__search_channel_messages. Until a tool is loaded that way, the model sees only its name, not its description.
The visible effect: asked "where can you post in Slack?", Haiku often answered from memory instead of calling list_channel_destinations. It hit only 7 of 13 tries across five phrasings.
On a local stack (local sandbox, Claude subscription), the tools are not deferred and the same phrasings hit 14 of 15.
The comment above that env line says deferral is worse than a bad prompt: Claude can call a deferred tool before its schema loads and send empty arguments. That breaks tools with arguments, such as commit_revision.
To reproduce
Run any staging agent with the Claude harness on Daytona and a platform tool. Look for a ToolSearch tool call before the first mcp__agenta-tools__* call.
To find out
- Does
ENABLE_TOOL_SEARCH reach the Claude process inside the Daytona sandbox?
- Does the Claude Code version in the Daytona snapshot still honor the variable?
PR #7145 works around the symptom for the channel tools with a line in the platform prompt. The deferral itself is not fixed.
On staging (Daytona), Claude runs still defer the
agenta-toolsMCP tools behind Claude's ToolSearch tool. The runner is meant to turn that off:applyClaudeConnectionEnvinservices/runner/src/engines/sandbox_agent/runtime-policy.tssetsENABLE_TOOL_SEARCH=falsefor every Claude run.What happens
Staging QA of v0.121.2 used Claude Haiku on Daytona with an Agenta-managed key. Before its first call to each Agenta tool, Haiku called
ToolSearch, for exampleselect:mcp__agenta-tools__search_channel_messages. Until a tool is loaded that way, the model sees only its name, not its description.The visible effect: asked "where can you post in Slack?", Haiku often answered from memory instead of calling
list_channel_destinations. It hit only 7 of 13 tries across five phrasings.On a local stack (local sandbox, Claude subscription), the tools are not deferred and the same phrasings hit 14 of 15.
The comment above that env line says deferral is worse than a bad prompt: Claude can call a deferred tool before its schema loads and send empty arguments. That breaks tools with arguments, such as
commit_revision.To reproduce
Run any staging agent with the Claude harness on Daytona and a platform tool. Look for a
ToolSearchtool call before the firstmcp__agenta-tools__*call.To find out
ENABLE_TOOL_SEARCHreach the Claude process inside the Daytona sandbox?PR #7145 works around the symptom for the channel tools with a line in the platform prompt. The deferral itself is not fixed.