Skip to content

Tools

Below is the complete list of tools the Kodik agent can use. Which tools are available depends on the current mode. File access is governed by .kodikignore rules.

ToolPurposeNotes
read_fileRead file contentsSupports line ranges via the ranges parameter. Files larger than the model’s context window cannot be read directly. Respects .kodikignore.
edit_fileEdit a single fileUses search-and-replace. Checks linter diagnostics after editing.
edit_filesEdit multiple files in one callAtomic edits across multiple files. Also checks linter diagnostics.
edit_notebookEdit a Jupyter notebookSupports insert, edit, delete operations on code and markdown cells. Languages: Python, JS, TS, R, Julia, SQL. Edited notebooks follow the file-change display setting; open notebook editors are refreshed and saved after tool edits, and dirty notebooks must be saved or discarded first.
shellRun a terminal commandThe block_until_ms: 0 parameter launches the command in the background and immediately returns a terminal_id for polling via command_status.
command_statusPoll a background processTakes the terminal_id returned by shell. Used to retrieve incremental output from dev servers, watchers, and other long-running processes.
globFind files by patternSupports patterns like **/*.ts.
rgFull-text search (ripgrep)Regex search with ripgrep options. Respects .kodikignore.
codebase_searchSemantic search over the codebaseUses the local index — see Indexing.
read_lintsRead linter diagnosticsReturns errors and warnings from VS Code for one or more files (or the whole workspace).
web_fetchFetch URL contentsHTTPS only (plain HTTP allowed only for localhost). Returns the page as Markdown. 30-second timeout.
web_searchSearch the webKodik provider only. Returns ranked results (title, URL, snippet) and usually a synthesized answer. Billed per search from your credit balance.
browserDrive the integrated browserAvailable in Code and Debug when the browser tool is enabled in Agents settings. Opens pages, can reuse open browser tabs, launch a dev server, take screenshots, read and clear bounded console output, inspect, resize, navigate, and interact with the page.
todo_writeManage a task listCreates and updates task items for multi-step sessions.
memorySave notes to memoryWrites notes to workspace or global memory. See Memory.
sub_agentDelegate a subtask to a subagentLaunches a child agent with its own context. See Subagents.
MCP toolsAny tools from MCP serversDepend on connected servers. See MCP.

The ranges parameter accepts an array of {start_line, end_line} objects and lets you read only the sections you need from a large file. If the file exceeds the size limit (derived from the model’s context window), read_file returns an informational message recommending rg or ranges instead.

read_file("src/server.ts", ranges=[{start_line: 1, end_line: 50}])

For long-running processes (dev servers, watchers, log streams), launch with block_until_ms: 0 — it returns a terminal_id immediately. Use command_status with that ID to poll for new output without restarting the process.

# Start a dev server in the background
terminal_id = shell("npm run dev", block_until_ms=0)
# Retrieve logs
command_status(terminal_id=terminal_id)

Uses a vector index that is built automatically. Search is meaning-based rather than keyword-based. Requires the index to exist — see Indexing.

Opens a headless browser, loads the page, and returns its content as Markdown. Output is truncated at 60 KB. Plain HTTP is blocked except for localhost.

Lets the agent discover current information it doesn’t have a link for: latest library versions and APIs, unfamiliar error messages, breaking changes, official documentation pages. Searches run server-side through the Kodik backend, so no search-provider API keys live on your machine, and each successful search is billed as a flat amount against the same credit balance as model usage — failed searches are never charged. The agent composes the two web tools: search to discover, then web_fetch the most promising result to read it in full.

Available only on the Kodik provider. On Ollama and custom/bring-your-own-key providers the tool is not offered, since searches there can’t be served or billed. Approval has its own auto-approve toggle (webSearch) — see Auto-Approve.

Drives the same Integrated Browser surface you see in Kodik. The agent can start a preview at a URL, optionally run a dev-server command first and wait for the URL to respond, then stop the preview and the server it started.

Use browser for browser-rendered work. It can list existing browser tabs and focus the tab you are viewing, take screenshots, read and clear the bounded console buffer, resize to mobile/tablet/desktop breakpoints, navigate/reload/back/forward, inspect an element’s HTML/styles/box, read an accessibility snapshot, click/type/hover/drag, and evaluate page expressions when higher-level actions are not enough.

Opening arbitrary URLs, launching dev servers, interacting with pages, and running page scripts follow your auto-approval settings. Screenshots captured by the agent appear inline in the chat; click a screenshot thumbnail to open the full image in an editor tab.

Tools including read_file, rg, and shell check .kodikignore before accessing files. Files matching patterns in .kodikignore are not accessible to the agent. See Ignore files.