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.