ClaudeCode.Content.ServerToolUseBlock (ClaudeCode v0.36.3)

View Source

Represents a server-side tool use content block within a Claude message.

Server tool use blocks indicate that the API is invoking a server-side tool such as web_search, web_fetch, code_execution, or text_editor_code_execution. Unlike regular tool_use blocks, these are handled by the API itself rather than by the client.

Summary

Types

server_tool_name()

@type server_tool_name() ::
  :web_search
  | :web_fetch
  | :code_execution
  | :bash_code_execution
  | :text_editor_code_execution
  | :tool_search_tool_regex
  | :tool_search_tool_bm25
  | String.t()

t()

@type t() :: %ClaudeCode.Content.ServerToolUseBlock{
  caller: map() | nil,
  id: String.t(),
  input: map(),
  name: server_tool_name(),
  type: :server_tool_use
}

Functions

new(data)

@spec new(map()) :: {:ok, t()} | {:error, atom() | {:missing_fields, [atom()]}}