Tools

The agent has access to over 25 tools that let it read, write, search, execute, and analyze code. Each tool is purpose-built for a specific type of operation.

How Tools Work

When the agent decides to take an action -- reading a file, editing code, running a test -- it invokes a tool. Each tool has a defined interface with typed parameters, a description the LLM uses for selection, and a permission level that controls whether it runs automatically or requires your approval.

Tools are not plugins or extensions. They are built into the engine and optimized for the agent's workflow. The agent sees each tool's parameter schema and description, then constructs the right call based on what it needs to accomplish.

Tool Call Lifecycle

  • The LLM decides which tool to call and generates the parameters.
  • The engine validates the parameters against the tool's schema.
  • The permission system checks whether the tool is allowed, needs approval, or is denied.
  • If approval is needed, a permission card appears in the chat for you to accept or reject.
  • The tool executes and returns its result to the agent.
  • The agent reads the result and decides on its next action.

Tool Categories

Tools are organized into five categories based on their function.

CategoryToolsPurpose
Fileread, write, edit, multiedit, glob, grep, lsRead, create, modify, and search files in your project.
ShellbashExecute shell commands, run tests, install packages, and interact with git.
Code Intelligencelsp, codesearchNavigate code with language server features: go to definition, find references, symbol search.
Webwebsearch, webfetchSearch the internet and fetch web page content for documentation and references.
Task & Planningtodo, task, plan, question, skill, batchManage tasks, create plans, prompt for user input, invoke skills, and batch operations.

Permission System

Every tool has a permission level that determines whether it runs automatically, prompts you for approval, or is blocked entirely.

LevelBehaviorUse Case
allowTool executes immediately without prompting.Safe, read-only operations or tools you fully trust (e.g., read, glob, grep).
askA permission card appears. You must approve before the tool runs.Default for most tools. Lets you review each action before it happens.
denyTool is completely blocked. The agent cannot invoke it.Disable tools you never want the agent to use in a particular project.

Note

The default permission for most tools is "ask". Read-only tools like read, glob, and grep default to "allow" so the agent can explore your codebase without interrupting your flow.

Configuring Permissions

Tool permissions are configured in your creor.json file at the project root. You can set permissions per tool, per category, or with a global default.

Per-Tool Permissions

1
2
3
4
5
6
7
8
9
10
11
{
"permissions": {
"bash": "ask",
"write": "ask",
"edit": "allow",
"read": "allow",
"glob": "allow",
"grep": "allow",
"websearch": "deny"
}
}

Default Permission

Set a default that applies to all tools not explicitly configured.

1
2
3
4
5
6
7
8
{
"permissions": {
"*": "ask",
"read": "allow",
"glob": "allow",
"grep": "allow"
}
}

Warning

Setting all permissions to "allow" lets the agent execute any operation without confirmation. This is convenient for trusted projects but removes the safety net. Use with caution.

Tool Reference

Below is the complete list of tools available to the agent. Click through to each category page for detailed documentation on parameters and usage.

ToolCategoryDescription
readFileRead file contents with optional line ranges. Supports text, images, PDFs, and Jupyter notebooks.
writeFileCreate a new file or completely overwrite an existing one.
editFileExact string replacement within a file (old_string to new_string).
multieditFileApply multiple edits to one or more files in a single operation.
globFileFind files by pattern matching (e.g., **/*.ts, src/**/test.*).
grepFileSearch file contents with regex patterns using ripgrep.
lsFileList directory contents with file metadata.
bashShellExecute shell commands with configurable timeout and sandboxing.
lspCode IntelligenceLanguage server operations: definitions, references, symbols, diagnostics.
codesearchCode IntelligenceSemantic code search across your project using RAG indexing.
websearchWebSearch the web using Exa for documentation and references.
webfetchWebFetch and read the content of a web page.
todoTaskRead and write todo lists in the .creor/ directory.
taskTaskSpawn child agents for parallel task execution.
planTaskEnter or exit plan mode.
questionTaskPrompt the user for input during automated workflows.
skillTaskInvoke a defined skill (reusable prompt workflow).
batchTaskCombine multiple tool calls into a single operation.
apply_patchFileApply a unified diff patch to one or more files.
git-secret-scannerShellScan for leaked secrets, API keys, and tokens in staged changes.
external-directoryFileAccess files outside the project root with explicit permission.