Skip to content

Tools and Approval

Tools are the actions ByteMind's agent can take. Understanding which tools exist and how the approval system works lets you keep full control while staying efficient.

Available Tools

ToolCategoryWhat it does
list_filesReadList files in a directory tree
read_fileReadRead the contents of a file
search_textReadSearch files for text or regex patterns
write_fileWriteCreate or overwrite a file
replace_in_fileWriteReplace specific content inside a file
apply_patchWriteApply a unified diff patch to a file
run_shellExecuteRun a shell command
delegate_subagentAgentDelegate a sub-task to a subagent
task_outputTaskRetrieve output from a background task
task_stopTaskStop a background task
update_planPlanUpdate the current task plan (Plan mode)
web_fetchWebFetch and read a URL
web_searchWebSearch the web for information

Read tools run silently. Write and Execute tools pause and wait for your approval before proceeding.

Approval Flow

When the agent wants to call a high-risk tool, it shows a summary and presents three choices:

OptionBehavior
Approve this operation onlyAllow just the current request; the same tool will ask again next time
Approve later requests from this toolAuto-approve future calls from this tool for the rest of the TUI session
Disable approvals for this TUI sessionAuto-approve all approval requests for the rest of this session

You can also deny the request (Esc or selecting deny).

The default approval_policy: on-request enables this for every high-risk tool call.

Exec Allowlist

For trusted commands you don't want to approve repeatedly, define an exec_allowlist in your config:

json
{
  "exec_allowlist": [
    { "command": "go", "args_pattern": ["test", "./..."] },
    { "command": "make", "args_pattern": ["build"] }
  ]
}

Allowlisted commands skip the approval prompt.

Full Access Mode

For unattended runs (CI pipelines, scripts), set approval_mode: full_access so approval-required operations are auto-approved and the agent doesn't block waiting for input:

json
{
  "approval_mode": "full_access"
}

Legacy approval_mode: away is blocked by default to prevent silent privilege escalation. Set BYTEMIND_ALLOW_AWAY_FULL_ACCESS=true only for temporary migration.

See Configuration for all approval-related settings.

See Also

Released under the MIT License.