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.
| Category | Tools | Purpose |
|---|---|---|
| File | read, write, edit, multiedit, glob, grep, ls | Read, create, modify, and search files in your project. |
| Shell | bash | Execute shell commands, run tests, install packages, and interact with git. |
| Code Intelligence | lsp, codesearch | Navigate code with language server features: go to definition, find references, symbol search. |
| Web | websearch, webfetch | Search the internet and fetch web page content for documentation and references. |
| Task & Planning | todo, task, plan, question, skill, batch | Manage tasks, create plans, prompt for user input, invoke skills, and batch operations. |
File Tools
Read, write, edit, glob, and grep -- everything for working with files.
Shell & Terminal
Execute commands, manage processes, and interact with the terminal.
Code Intelligence
LSP-powered navigation, symbol lookup, and code analysis.
Web Tools
Search the web and fetch page content for external references.
Task & Planning
Todo lists, task agents, plan mode, and interactive skills.
Permission System
Every tool has a permission level that determines whether it runs automatically, prompts you for approval, or is blocked entirely.
| Level | Behavior | Use Case |
|---|---|---|
| allow | Tool executes immediately without prompting. | Safe, read-only operations or tools you fully trust (e.g., read, glob, grep). |
| ask | A permission card appears. You must approve before the tool runs. | Default for most tools. Lets you review each action before it happens. |
| deny | Tool is completely blocked. The agent cannot invoke it. | Disable tools you never want the agent to use in a particular project. |
Note
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
Default Permission
Set a default that applies to all tools not explicitly configured.
Warning
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.
| Tool | Category | Description |
|---|---|---|
| read | File | Read file contents with optional line ranges. Supports text, images, PDFs, and Jupyter notebooks. |
| write | File | Create a new file or completely overwrite an existing one. |
| edit | File | Exact string replacement within a file (old_string to new_string). |
| multiedit | File | Apply multiple edits to one or more files in a single operation. |
| glob | File | Find files by pattern matching (e.g., **/*.ts, src/**/test.*). |
| grep | File | Search file contents with regex patterns using ripgrep. |
| ls | File | List directory contents with file metadata. |
| bash | Shell | Execute shell commands with configurable timeout and sandboxing. |
| lsp | Code Intelligence | Language server operations: definitions, references, symbols, diagnostics. |
| codesearch | Code Intelligence | Semantic code search across your project using RAG indexing. |
| websearch | Web | Search the web using Exa for documentation and references. |
| webfetch | Web | Fetch and read the content of a web page. |
| todo | Task | Read and write todo lists in the .creor/ directory. |
| task | Task | Spawn child agents for parallel task execution. |
| plan | Task | Enter or exit plan mode. |
| question | Task | Prompt the user for input during automated workflows. |
| skill | Task | Invoke a defined skill (reusable prompt workflow). |
| batch | Task | Combine multiple tool calls into a single operation. |
| apply_patch | File | Apply a unified diff patch to one or more files. |
| git-secret-scanner | Shell | Scan for leaked secrets, API keys, and tokens in staged changes. |
| external-directory | File | Access files outside the project root with explicit permission. |