diff --git a/chat.el b/chat.el index 5398c4e..f86ded9 100644 --- a/chat.el +++ b/chat.el @@ -317,10 +317,13 @@ fn connector_tools_json() -> String { return arr } -// Built-in tools + native web_search + every connector tool, as one tools array. -// Splices connector tools in before the closing bracket of the base array. +// Built-in tools + every connector tool, as one tools array. +// Uses agentic_tools_literal (not agentic_tools_with_web) to avoid a duplicate +// "web_search" name — the literal already includes a custom web_search handler, +// and adding the Anthropic server-side web_search_20250305 (same name) causes +// Anthropic to reject with "Tool names must be unique." fn agentic_tools_all() -> String { - let base: String = agentic_tools_with_web() + let base: String = agentic_tools_literal() let conn: String = connector_tools_json() let conn_inner: String = str_slice(conn, 1, str_len(conn) - 1) if str_eq(conn_inner, "") {