> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools

Qoder CLI uses tools to work with your local workspace and external information sources. Tools can search and read project content, modify files, run commands, fetch web content, manage context, and connect to external services through MCP.

Tools are available in both interactive TUI sessions and non-interactive print mode. The exact set of tools depends on the current session, enabled features, MCP configuration, and permission settings.

Use `/tools` in the TUI to view the tools currently available in the session.

<div id="search-and-explore">
  ## **Search and Explore**
</div>

Qoder CLI uses search and exploration tools to understand the current task before taking action.

| Scope       | Description                                                                       |
| :---------- | :-------------------------------------------------------------------------------- |
| Files       | Find files in the current workspace.                                              |
| Code        | Search code, text, and configuration files.                                       |
| Directory   | Explore project structure and locate relevant paths.                              |
| Web         | Search for external information when the task requires current or public context. |
| Web content | Retrieve content from specific web pages.                                         |

<div id="read-project-context">
  ## **Read Project Context**
</div>

Qoder CLI can read files and other project artifacts to gather context for the current request.

| Function                  | Description                                                             |
| :------------------------ | :---------------------------------------------------------------------- |
| View files                | Read source files, documentation, configuration, and other text assets. |
| Read large files          | Read a focused section when the whole file is too large.                |
| Read document-like assets | Inspect supported document formats, such as PDFs, when available.       |

<div id="edit-files">
  ## **Edit Files**
</div>

When a task requires changes, Qoder CLI can create or modify files in the workspace.

| Function       | Description                                                                 |
| :------------- | :-------------------------------------------------------------------------- |
| Modify files   | Update existing files with targeted changes.                                |
| Create files   | Add new files such as source files, tests, documentation, or configuration. |
| Edit notebooks | Modify notebook content when notebook support is available.                 |

File edits pass through the permission system. Depending on the permission mode and rules, Qoder CLI may apply the change directly, ask for confirmation, or block the action.

<div id="execute-commands">
  ## **Execute Commands**
</div>

Qoder CLI can run shell commands when the task requires local execution.

| Function       | Description                                                                        |
| :------------- | :--------------------------------------------------------------------------------- |
| Run commands   | Execute build, test, package, Git, inspection, or custom shell commands.           |
| Run long tasks | Keep track of commands that take time, such as test suites or development scripts. |

Shell commands usually carry more risk than read-only actions. Use permission rules to allow routine commands and ask or deny sensitive ones.

When the [shell command prefix](/en/cli/using-cli#shell-command-prefix) is enabled, Bash tool commands run through the configured executable wrapper after the complete shell command has been assembled. Permission checks and command displays continue to use the original command. The wrapper must execute its single command argument and preserve the process I/O and exit status.

<div id="manage-context">
  ## **Manage Context**
</div>

Some tools help Qoder CLI keep track of the current task and conversation state.

| Function              | Description                                                                |
| :-------------------- | :------------------------------------------------------------------------- |
| Track tasks           | Maintain a lightweight plan or task list while work is in progress.        |
| Ask for clarification | Request user input when a decision or missing detail blocks progress.      |
| Manage memory         | Store durable information when memory features are available.              |
| Use skills            | Load specialized instructions or workflows when configured.                |
| Plan work             | Enter or exit Plan mode when the task should be analyzed before execution. |

Memory and skills provide context to the model, but they are not security boundaries. Use permissions and hooks to enforce hard policy.

<div id="delegate-and-automate">
  ## **Delegate and Automate**
</div>

Qoder CLI can use delegation and automation capabilities when they are enabled for the current environment.

| Function       | Description                                                        |
| :------------- | :----------------------------------------------------------------- |
| Subagents      | Delegate focused work to specialized agents.                       |
| Workflows      | Run configured workflows for repeatable tasks.                     |
| Goals          | Track and execute longer-running objectives.                       |
| Worktrees      | Work in a separate Git worktree when parallel sessions are needed. |
| Scheduled work | Create or manage scheduled tasks when scheduling is enabled.       |

Availability depends on product configuration, feature flags, and the current session.

<div id="mcp-tools">
  ## **MCP Tools**
</div>

Qoder CLI can connect to Model Context Protocol (MCP) servers to use external tools and data sources. After an MCP server is configured, its tools appear in the same `/tools` view and go through the same permission system.

MCP tools are useful for integrating with systems such as issue trackers, code hosts, databases, browser automation, internal platforms, or custom company services.

For MCP setup, see [MCP Servers](/en/cli/mcp-servers).

<div id="control-tool-usage">
  ## **Control Tool Usage**
</div>

Tool visibility and tool execution are controlled separately.

| Control                                                      | Description                                            |
| :----------------------------------------------------------- | :----------------------------------------------------- |
| `--tools`                                                    | Limits which tools are visible in the current session. |
| `--allowed-tools`                                            | Pre-approves selected tools or tool patterns.          |
| `--disallowed-tools`                                         | Blocks selected tools or tool patterns.                |
| `permissions.allow` / `permissions.ask` / `permissions.deny` | Persistent permission rules in settings files.         |
| `tools.exclude`                                              | Removes tools from discovery at startup.               |

Examples:

```shell theme={null}
# Read-only exploration
qodercli --tools Read Grep Glob --allowed-tools 'Read,Grep,Glob'

# Allow a routine status command
qodercli --allowed-tools 'Read,Grep,Bash(git status)'

# Block file edits in a non-interactive review
qodercli -p "review this repository" --disallowed-tools 'Write,Edit'
```

For permission modes, rule syntax, and decision order, see [Permissions](/en/cli/permissions). For hooks that intercept tool calls, see [Hooks](/en/cli/hooks).
