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

# Tools

> Everything you need to code, execute tasks, browse the web, and automate operations.

Lukan comes with a rich tool ecosystem for file operations, execution, search, web, and more. Additional tools can be added via plugins.

## File Operations

| Tool         | Description                                                      |
| ------------ | ---------------------------------------------------------------- |
| `ReadFiles`  | Read one or more files. Suggests FindSymbol for files >300 lines |
| `WriteFile`  | Write content to a file                                          |
| `EditFile`   | Targeted exact string replacements in a file (single or batch)   |
| `Grep`       | Search file contents with regex (ripgrep backend)                |
| `Glob`       | Match files using glob patterns, sorted by modification time     |
| `FindSymbol` | Search code symbols by name, kind, and export status             |

## Execution

| Tool   | Description                                                                                                          |
| ------ | -------------------------------------------------------------------------------------------------------------------- |
| `Bash` | Execute shell commands. Supports `background: true` for long-running processes and `wait_pid` to wait for completion |

## Search & Web

| Tool       | Description                                              |
| ---------- | -------------------------------------------------------- |
| `WebFetch` | Fetch and parse a URL (HTML-to-text conversion)          |
| `Explore`  | Autonomous sub-agent for filesystem/codebase exploration |

## Tasks

| Tool         | Description                                                |
| ------------ | ---------------------------------------------------------- |
| `TaskAdd`    | Add tasks to the session task list (auto-incrementing IDs) |
| `TaskList`   | List current tasks with optional filtering                 |
| `TaskUpdate` | Batch update task status or title                          |

## Agent & Planning

| Tool              | Description                                                      |
| ----------------- | ---------------------------------------------------------------- |
| `LoadSkill`       | Load a skill from `.lukan/skills/` with YAML frontmatter         |
| `PlannerQuestion` | Ask clarifying questions with structured options in planner mode |
| `SubmitPlan`      | Submit a structured implementation plan with ordered tasks       |
| `SubAgent`        | Spawn a sub-agent for parallel work                              |
| `SubAgentResult`  | Check or wait for sub-agent completion                           |

## Browser (with `--browser` flag)

| Tool                | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| `BrowserNavigate`   | Navigate to a URL                                            |
| `BrowserNewTab`     | Open a new tab                                               |
| `BrowserSnapshot`   | Take an accessibility tree snapshot (compact mode available) |
| `BrowserScreenshot` | Take a JPEG screenshot of the current page                   |
| `BrowserClick`      | Click an element by reference number                         |
| `BrowserType`       | Type text into an input field                                |
| `BrowserEvaluate`   | Evaluate JavaScript (with security blocklist)                |
| `BrowserSavePDF`    | Save the current page as a PDF file                          |
| `BrowserTabs`       | List open tabs                                               |
| `BrowserSwitchTab`  | Switch between tabs                                          |

## Plugin Tools

Plugins can register additional tools via a `tools.json` manifest. These tools are executed through the plugin's handler script (e.g., `tools.js` with Node.js).

Plugin-provided tools include:

### Email (via plugin)

| Tool           | Description                                |
| -------------- | ------------------------------------------ |
| `EmailList`    | List emails (folder, unseen filter, limit) |
| `EmailRead`    | Read email by UID                          |
| `EmailReply`   | Reply to an email with threading headers   |
| `EmailSend`    | Send a new email                           |
| `EmailFolders` | List available email folders               |
| `EmailConfirm` | Confirm a pending email send               |
| `EmailCancel`  | Cancel a pending email                     |

### Reminders (via plugin)

| Tool           | Description             |
| -------------- | ----------------------- |
| `ReminderAdd`  | Add a reminder          |
| `ReminderList` | List reminders          |
| `ReminderDone` | Mark a reminder as done |

### Google Workspace (via plugin)

| Tool             | Description                         |
| ---------------- | ----------------------------------- |
| `SheetsRead`     | Read spreadsheet data (A1 notation) |
| `SheetsWrite`    | Write/append spreadsheet data       |
| `SheetsCreate`   | Create a new spreadsheet            |
| `CalendarList`   | List calendar events                |
| `CalendarCreate` | Create a calendar event             |
| `CalendarUpdate` | Update a calendar event             |
| `DocsRead`       | Read a Google Doc                   |
| `DocsCreate`     | Create a Google Doc                 |
| `DocsUpdate`     | Update a Google Doc                 |
| `DriveList`      | List Drive files                    |
| `DriveDownload`  | Download a file from Drive          |

## Safe Tools

The following tools are automatically approved in `auto` permission mode:

`ReadFiles`, `Grep`, `Glob`, `WebFetch`, `Explore`, `TaskAdd`, `TaskList`, `TaskUpdate`, `PlannerQuestion`, `SubmitPlan`, `LoadSkill`
