18 встроенных инструментов
Bash, Edit, Read, Grep, Task...
Что такое инструменты (tools) Claude Code
Инструменты (tools) — это набор действий, которые модель может вызывать, чтобы взаимодействовать с вашим компьютером: читать и редактировать файлы, искать по коду, запускать команды в терминале, обращаться к веб-страницам и планировать работу. Сама по себе языковая модель умеет только генерировать текст. Именно инструменты превращают Claude из чат-бота в агента, который реально меняет состояние проекта. Когда вы ставите задачу, модель не пишет ответ вслепую — она выбирает подходящий инструмент, вызывает его с конкретными аргументами, получает результат и решает, какой шаг сделать дальше. Этот цикл «решение → вызов инструмента → наблюдение результата» повторяется, пока задача не выполнена.
Как устроены категории инструментов
Встроенные инструменты сгруппированы по назначению, и интерактивный обозреватель ниже как раз показывает эти категории. Файловые инструменты — это Read (чтение файла), Edit (точечная замена строки в существующем файле) и Write (создание или полная перезапись файла). Поисковые инструменты — Glob ищет файлы по шаблону пути (например, src/**/*.tsx), а Grep ищет текст и регулярные выражения внутри файлов. Исполнение — Bash запускает команды в терминале (тесты, сборку, git), а Task делегирует работу отдельному субагенту с собственным контекстом. Веб-инструменты WebFetch и WebSearch подтягивают свежую информацию из интернета. А инструменты планирования — AskUserQuestion, TaskCreate и TaskUpdate — позволяют задать уточняющий вопрос и вести список задач. Английские названия инструментов лучше не переводить: именно так они называются в логах и документации.
Когда что использовать и типичные ошибки
Правило простое: для изменения существующего файла нужен Edit, а не Write — Write перезапишет файл целиком и сотрёт то, что вы не упомянули. Чтобы найти, где лежит код, используйте Grep и Glob, а не перебор файлов через Bash cat — это и быстрее, и дешевле по токенам. Тяжёлую или изолированную подзадачу разумно отдать в Task: субагент не засоряет основной контекст диалога. Главные подводные камни — давать модели слишком широкие права на Bash (опасные команды вроде rm -rf стоит запрещать через разрешения и хуки), а также вызывать Edit по файлу, который ещё не был прочитан через Read: без свежего содержимого замена строки не совпадёт и вызов завершится ошибкой. Конкретный пример рабочего цикла: Claude вызывает Grep по слову useAuth, находит нужный компонент, Read открывает файл, Edit заменяет одну функцию, и Bash запускает npm test, чтобы убедиться, что ничего не сломалось.
🛠️ Claude Code имеет 18+ встроенных инструментов. Каждый инструмент — это способность, которую агент может использовать. Понимание когда использовать какой инструмент — ключ к эффективной работе!
Read
ФайлыЧитает содержимое файла. Поддерживает текст, изображения, PDF, Jupyter notebooks.
Когда использовать: Когда нужно прочитать файл перед редактированием или для понимания кода
Edit
ФайлыРедактирует файл, заменяя указанный текст на новый. Требует точного совпадения old_string.
Когда использовать: Для внесения изменений в существующие файлы. Всегда читай файл перед Edit!
Write
ФайлыСоздаёт новый файл или полностью перезаписывает существующий.
Когда использовать: Только когда нужен новый файл. Предпочитай Edit для изменения существующих файлов!
Glob
ПоискИщет файлы по шаблону (pattern). Быстрее чем find или ls.
Когда использовать: Когда нужно найти файлы по имени или расширению
Grep
ПоискИщет текст в файлах по регулярному выражению. Построен на ripgrep.
Когда использовать: Когда нужно найти где используется функция, переменная, или паттерн
Bash
ВыполнениеВыполняет команды в терминале. git, npm, docker и т.д.
Когда использовать: Для системных команд: git операции, установка пакетов, запуск скриптов
Task
ВыполнениеЗапускает sub-агента для сложных задач. Типы: Explore, Plan, Bash и др.
Когда использовать: Для исследования кодбазы, планирования, или когда задача требует много шагов
WebFetch
ВебЗагружает содержимое веб-страницы и анализирует его.
Когда использовать: Когда нужна информация из документации или веб-страницы
WebSearch
ВебПоиск в интернете для актуальной информации.
Когда использовать: Когда нужна актуальная информация за пределами knowledge cutoff
AskUserQuestion
ПланированиеЗадаёт вопрос пользователю когда нужно уточнение.
Когда использовать: Когда требования неясны или нужен выбор между подходами
TaskCreate/TaskUpdate
ПланированиеСоздаёт и обновляет список задач для отслеживания прогресса.
Когда использовать: Для сложных многошаговых задач, чтобы не потерять контекст
✅ Правильно
- • Всегда Read перед Edit
- • Используй Glob вместо find
- • Используй Grep вместо grep
- • Параллельные вызовы когда возможно
❌ Неправильно
- • Edit без предварительного Read
- • Bash для чтения файлов (cat)
- • Write вместо Edit для изменений
- • Угадывать параметры
Частые вопросы
Какие инструменты есть в Claude Code
Встроенные инструменты сгруппированы по категориям: файловые — Read, Edit, Write; поисковые — Glob и Grep; исполнение — Bash и Task; веб — WebFetch и WebSearch; планирование — AskUserQuestion, TaskCreate и TaskUpdate. Через них модель читает и меняет файлы, ищет код, запускает команды и обращается в интернет.
Чем Edit отличается от Write в Claude Code
Edit делает точечную замену строки в существующем файле и сохраняет остальное содержимое, а Write создаёт файл заново или полностью перезаписывает его, стирая всё, что вы не упомянули. Для правок существующего кода используйте Edit, а Write — только для новых файлов.
Зачем нужен инструмент Task в Claude Code
Task делегирует подзадачу отдельному субагенту с собственным контекстом. Это удобно для тяжёлой или изолированной работы: субагент не засоряет основной диалог, выполняет задачу и возвращает результат, экономя контекст и токены главного агента.
Как ограничить опасные команды Bash в Claude Code
Опасные команды вроде rm -rf стоит запрещать через настройки разрешений (permissions) и хуки (hooks). Так вы ограничиваете, какие команды Bash модель может запускать, и не даёте ей выполнять разрушительные действия без вашего подтверждения.
Этот урок — часть структурированного курса по LLM.
Мой путь обучения