Each built-in tool has a typed slot: the executor end serves it with client.tools.<name>.handle and the harness end calls it with session.tools.<name>.call. A handler receives that tool’s input (a call missing a required member fails before the handler runs) and returns text, content blocks, a tool result or, for bash, a bash result. Registering a handler advertises the shell or files capability; throwing ToolError reports is_error: true to the model, any other error is outcome: "failed".
Generated from bma-executor-sdk 1.3.0 and its contract (contracts/bma/executor, protocol bma.executor.v1.1). Install, credentials and quick starts are on the bma-executor-sdk overview; the protocol itself is described in Executor Protocol.

Tool slot (executor end)

The generic slot behind every client.tools.<name>; the tool sections show it with each tool’s input type.

Tool slot (harness end)

The generic entry behind every session.tools.<name>; it sends tool.call and waits for tool.result, like callTool.

ToolContext

What a handler learns about the call it serves, and progress for tool.progress updates.

BashResult

A finished command, rendered as stdout, stderr and exit_code: N; output beyond 48 KiB (or marked truncated) is cut to a preview.

ToolError

A tool-level error reported to the model (outcome succeeded, is_error: true), the same role as the Anthropic SDK ToolError.

Built-in tools

bash

bash input: run command with a login shell. Input BashInput Executor end
Harness end
Example

read

read input: return lines of a text file. Input ReadInput Executor end
Harness end
Example

write

write input: create or replace a file. Input WriteInput Executor end
Harness end
Example

edit

edit input: replace the single occurrence of old_string. Input EditInput Executor end
Harness end
Example

glob

glob input: list paths matching pattern. Input GlobInput Executor end
Harness end
Example

grep

grep input: search file lines with a regular expression. Input GrepInput Executor end
Harness end
Example

list_files

list_files input. Input ListFilesInput Executor end
Harness end
Example

computer_observe

computer_observe input. Input ComputerObserveInput Executor end
Harness end

computer_action

computer_action input. Input ComputerActionInput Executor end
Harness end