Cline tools are executable functions the model can call while working. The model decides which tool to call, Cline runs it, then returns results back to the model.
When running through ClineCore, these built-ins are available:
| Tool | Description |
|---|
bash | Execute shell commands |
editor | View and edit files |
read_files | Batch read multiple files |
apply_patch | Apply unified diffs to files |
search | Ripgrep-powered codebase search |
fetch_web | HTTP requests with HTML-to-markdown conversion |
ask_question | Ask the user for input |
Agent from @cline/agents does not include built-ins by default. You provide tools explicitly.
- Codebase operations:
editor, read_files, apply_patch, search
- Execution:
bash
- External retrieval:
fetch_web
- Human-in-the-loop controls:
ask_question
Approval and Policy Controls
Cline can run tools with approval or auto-approval, depending on settings/policies. Typical patterns:
- Require approval for risky tools (for example
bash, write/edit operations)
- Auto-approve low-risk tools (for example read/search operations)
- Disable specific tools entirely when needed
For policy examples, see SDK Tools and Permission Handling.
Cline can also call tools discovered from MCP servers configured in .cline/mcp.json.
MCP tools are loaded alongside built-ins, so Cline can use both local tools and external integrations in one task.
See MCP Overview and SDK Tools → MCP Tools.
This feature currently only applies to Cline SDK, CLI, and Kanban. This feature is not applicable on VSCode and JetBrains Extension for now.
Beyond built-ins and MCP, you can create custom tools and add them through plugins.
- Define tool behavior and input schema in plugin code
- Register tools during plugin setup
- Expose those tools to agents alongside built-ins
See:
Some older docs/examples reference XML-style names like read_file, replace_in_file, or execute_command. Current SDK/ClineCore runtime uses the built-in tool names listed above (read_files, apply_patch, bash, etc.).