Skip to main content

Tool Reference

OpenOrca includes 39 built-in tools organized by category. Each tool has a risk level that determines whether it requires user approval.

Permission Levels

LevelBehaviorExamples
ReadOnlyAuto-approved by defaultReading files, searching, thinking
ModerateRequires approval (unless autoApproveModerate is on)Writing files, git commit, mkdir
DangerousAlways requires approval (unless autoApproveAll is on)Shell execution, git push

You can customize permissions in Configuration. Specific tools can be added to alwaysApprove or disabledTools.


File System (14 tools)

read_file

Risk: ReadOnly

Read file contents with line numbers.

ParameterTypeRequiredDescription
pathstringYesFile path to read
offsetintegerNoLine number to start from
limitintegerNoMax lines to read

write_file

Risk: Moderate

Create or overwrite a file.

ParameterTypeRequiredDescription
pathstringYesFile path to write
contentstringYesFile content
appendbooleanNoAppend to the file instead of overwriting. Defaults to false

edit_file

Risk: Moderate

Replace an exact string in a file. The old_string must match exactly (including whitespace).

ParameterTypeRequiredDescription
pathstringYesFile path
old_stringstringYesText to find
new_stringstringYesReplacement text
create_if_missingbooleanNoWhen true and the file doesn't exist, create it with new_string as content (old_string must be empty). Defaults to false

multi_edit

Risk: Moderate

Apply multiple edits across one or more files atomically. If any edit fails, all changes are rolled back to their original state.

ParameterTypeRequiredDescription
editsarrayYesArray of edit operations

Each edit in the array:

PropertyTypeRequiredDescription
pathstringYesFile path to edit
old_stringstringYesText to find
new_stringstringYesReplacement text
replace_allbooleanNoReplace all occurrences (default: false)

The tool executes in three phases:

  1. Validate — reads all files and verifies each old_string exists (and is unique unless replace_all is set)
  2. Apply — computes all edits in memory
  3. Write — writes all files to disk; if any write fails, restores all files from their original content

delete_file

Risk: Moderate

Delete a file or directory.

ParameterTypeRequiredDescription
pathstringYesPath to delete

copy_file

Risk: Moderate

Copy a file or directory.

ParameterTypeRequiredDescription
sourcestringYesSource path
destinationstringYesDestination path

move_file

Risk: Moderate

Move or rename a file.

ParameterTypeRequiredDescription
sourcestringYesSource path
destinationstringYesDestination path

rename_file

Risk: Moderate

Rename a file or directory. Creates parent directories for the destination automatically.

ParameterTypeRequiredDescription
sourcestringYesThe current file or directory path
destinationstringYesThe new file or directory path
overwritebooleanNoOverwrite the destination if it exists. Defaults to false

mkdir

Risk: Moderate

Create a directory (and parent directories).

ParameterTypeRequiredDescription
pathstringYesDirectory path

create_directory

Risk: Moderate

Create a directory and any missing parent directories. Succeeds silently if it already exists.

ParameterTypeRequiredDescription
pathstringYesThe path of the directory to create

cd

Risk: Moderate

Change the current working directory.

ParameterTypeRequiredDescription
pathstringYesDirectory to change to

glob

Risk: ReadOnly

Find files matching a glob pattern.

ParameterTypeRequiredDescription
patternstringYesGlob pattern (e.g., **/*.cs)
pathstringNoBase directory (defaults to cwd)
excludestringNoGlob pattern to exclude from results (e.g., **/node_modules/**)

grep

Risk: ReadOnly

Search file contents using regex.

ParameterTypeRequiredDescription
patternstringYesRegex pattern
pathstringNoFile or directory to search
globstringNoGlob filter for files (e.g., *.cs, **/*.json)
contextintegerNoNumber of context lines before and after each match. Defaults to 0
case_insensitivebooleanNoSearch case-insensitively. Defaults to false
output_modestringNoOutput format: content (matching lines, default), files_only (file paths only), count (match counts per file)
max_resultsintegerNoMaximum matches to return. Defaults to 500

list_directory

Risk: ReadOnly

List directory contents.

ParameterTypeRequiredDescription
pathstringNoDirectory path (defaults to cwd)
recursivebooleanNoList entries recursively (capped at 1000 entries). Defaults to false

Shell (5 tools)

bash

Risk: Dangerous

Execute a shell command. Commands run via cmd.exe on Windows or /bin/bash on Linux/macOS.

ParameterTypeRequiredDescription
commandstringYesShell command to execute
working_directorystringNoDirectory to run the command in (defaults to cwd)
timeout_secondsintegerNoTimeout in seconds (default: 120)
descriptionstringNoHuman-readable description of what the command does

start_background_process

Risk: Dangerous

Start a long-running process in the background. Returns a process ID for later use.

ParameterTypeRequiredDescription
commandstringYesCommand to run

get_process_output

Risk: ReadOnly

Read output from a background process.

ParameterTypeRequiredDescription
pidstringYesProcess ID

stop_process

Risk: Moderate

Stop a running background process.

ParameterTypeRequiredDescription
pidstringYesProcess ID

list_processes

Risk: ReadOnly

List all background processes and their status (running/exited), command, uptime, and process ID.

No parameters.


Git (9 tools)

git_status

Risk: ReadOnly

Show working tree status.

git_diff

Risk: ReadOnly

Show changes in the working tree.

ParameterTypeRequiredDescription
stagedbooleanNoShow only staged changes
pathstringNoLimit diff to a specific path

git_log

Risk: ReadOnly

Show commit history.

ParameterTypeRequiredDescription
countintegerNoNumber of commits to show
onelinebooleanNoOne-line format

git_commit

Risk: Moderate

Stage files and create a commit.

ParameterTypeRequiredDescription
messagestringYesCommit message
filesstring[]NoFiles to stage (defaults to all changes)

git_branch

Risk: Moderate

List, create, or delete branches.

ParameterTypeRequiredDescription
namestringNoBranch name to create/delete
deletebooleanNoDelete the branch

git_checkout

Risk: Moderate

Switch branches or restore files.

ParameterTypeRequiredDescription
branchstringYesBranch name
createbooleanNoCreate branch if it doesn't exist

git_push

Risk: Dangerous

Push commits to a remote.

ParameterTypeRequiredDescription
remotestringNoRemote name (default: origin)
branchstringNoBranch to push

git_pull

Risk: Moderate

Pull changes from a remote.

ParameterTypeRequiredDescription
remotestringNoRemote name (default: origin)
branchstringNoBranch to pull

git_stash

Risk: Moderate

Stash or restore working directory changes.

ParameterTypeRequiredDescription
actionstringNopush, pop, list, or drop

Web & GitHub (3 tools)

web_fetch

Risk: ReadOnly

Fetch content from a URL. Returns the page content as text.

ParameterTypeRequiredDescription
urlstringYesURL to fetch

Risk: ReadOnly

Search the web using DuckDuckGo.

ParameterTypeRequiredDescription
querystringYesSearch query
countintegerNoNumber of results

github

Risk: Moderate

Run GitHub CLI (gh) commands. Requires gh to be installed and authenticated.

ParameterTypeRequiredDescription
commandstringYesgh command to run (e.g., pr list)

Network (1 tool)

network_diagnostics

Risk: ReadOnly

Network diagnostics: ping a host, perform DNS lookup, or check HTTP connectivity. Useful for debugging connection issues.

ParameterTypeRequiredDescription
actionstringYesping, dns_lookup, or check_connection
targetstringYesHostname, domain, or URL to test
timeout_secondsintegerNoTimeout in seconds (default: 5)

Archive (1 tool)

archive

Risk: Moderate

Create, extract, or list contents of zip archives.

ParameterTypeRequiredDescription
actionstringYescreate, extract, or list
archive_pathstringYesPath to the zip archive file
source_pathstringNoPath to compress (file or directory). Required for create.
output_pathstringNoDirectory to extract to. Required for extract.

Utility & Interactive (6 tools)

think

Risk: ReadOnly

A scratchpad for the model to do step-by-step reasoning without taking action. Output is not visible to the user.

ParameterTypeRequiredDescription
thoughtstringYesReasoning content

print

Risk: ReadOnly

Display a message to the user. The message content is always visible regardless of verbosity setting.

ParameterTypeRequiredDescription
messagestringYesThe message to display to the user

task_list

Risk: ReadOnly

Track progress on multi-step tasks. The model uses this to maintain a checklist of what's been done and what's left.

ParameterTypeRequiredDescription
actionstringYesadd, complete, list, or clear
taskstringNoTask description (for add/complete)

env

Risk: ReadOnly

Inspect environment variables. Use action get to retrieve a specific variable, or list to list all (optionally filtered by prefix).

ParameterTypeRequiredDescription
actionstringYesget or list
namestringNoVariable name (required for get)
prefixstringNoFilter variables by prefix (optional for list)

ask_user

Risk: ReadOnly

Ask the user a question and wait for their response. Used when the model needs clarification.

ParameterTypeRequiredDescription
questionstringYesQuestion to ask

spawn_agent

Risk: Moderate

Launch an independent sub-agent to handle a focused task. The sub-agent has its own conversation context and tool access.

ParameterTypeRequiredDescription
taskstringYesTask description for the sub-agent
toolsstring[]NoSpecific tools to grant (defaults to all)