Back to Cline

Tools

docs/tools-reference/all-cline-tools.mdx

3.83.02.6 KB
Original Source

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.

Built-In Tools (ClineCore)

When running through ClineCore, these built-ins are available:

ToolDescription
bashExecute shell commands
editorView and edit files
read_filesBatch read multiple files
apply_patchApply unified diffs to files
searchRipgrep-powered codebase search
fetch_webHTTP requests with HTML-to-markdown conversion
ask_questionAsk the user for input
<Note> `Agent` from `@cline/agents` does not include built-ins by default. You provide tools explicitly. </Note>

Tool Categories

  • 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.

MCP Tools

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.

Custom Tools

<Warning> This feature currently only applies to Cline SDK, CLI, and Kanban. This feature is not applicable on VSCode and JetBrains Extension for now. </Warning>

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:

Legacy Tool Names vs Current Runtime Tools

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.).