Reference

Tools Reference

All 31 tools that RaggieCode makes available to the LLM. Grouped into five categories: code exploration, file operations, information gathering, agent management, and todo list planning.

Estimated read time: 5 minutes · Updated July 12, 2026

RaggieCode exposes 31 tools to the LLM, giving the agent the ability to understand your codebase, modify files, run shell commands, search the web, manage subagents, and plan complex multi-step tasks. Every tool is registered with a JSON schema that the LLM uses for function calling .; the agent decides which tool to invoke and with what arguments, and RaggieCode handles the execution.

The tools are organised into five categories below. Tool names appear in monospace throughout.

Code Exploration

7 tools

Powered by the Code Indexer

The code exploration tools (GetFileCodeSemantics, GetSymbolSourceCode, and WalkCallTree) are backed by RaggieCode's semantic code indexer .; a tree-sitter powered analysis engine that parses your codebase into symbols, functions, classes, imports, and full dependency graphs. This is what lets RaggieCode trace call chains, find every caller of a function, and analyse the blast radius of any change. It is not just text search .; it is structural understanding.

The indexer supports 15 languages: Python, Go, C#, JavaScript, TypeScript, TSX, Rust, Zig, Elixir, C, C++, PHP, Dart, Java, and Kotlin. The index is stored in .raggie/.code_index.raggie (SQLite) and is refreshed after every tool call so the agent always has fresh context.

Tool What it does
GetFileCodeSemantics Show a file's structure: functions, classes, imports, dependencies, with optional full source bodies. Supports 15 languages. The canonical way to explore code files.
GetSymbolSourceCode Get full source of a function, class, or variable by name. Falls back to fuzzy search across the index when an exact match is not found.
WalkCallTree Breadth-first traversal of the call graph from any entry point. Configurable max depth (default 5) with cycle detection. Traces execution flow across the entire codebase.
UglyWholeFileContentDump Read raw file contents. Throttled .; prefer the semantic tools (GetFileCodeSemantics, GetSymbolSourceCode) for code files. Use for configs, docs, and non-code files.
ListDir List directory contents with type (FILE/DIR) and size in bytes. Supports recursive listing up to a configurable depth.
SearchAllFilesContent Regex grep across files and directories. Simple pattern matching for finding strings and patterns in your codebase.
FileNameSearch Fuzzy search for file names by partial or approximate match. Uses subsequence matching with bonuses for consecutive characters and word boundaries. Returns the top 5 results.

File Operations

6 tools

Tool What it does
WriteFile Create or overwrite a file. Automatically creates parent directories. Refuses to operate on files matched by .gitignore or .aiignore.
ReplaceText Find-and-replace in an existing file. Supports literal matching and regex patterns with backreferences. Can replace a single occurrence or all occurrences (replace_all). Returns a unified-diff-style view of changes.
RemoveFile Delete a file or directory recursively. Refuses to remove paths matched by .gitignore or .aiignore.
Shell Execute a shell command via subprocess. Useful for build commands, test runners, linters, and install commands. Configurable timeout (default 30 seconds).
TempBackgroundService Start a temporary background service (non-blocking). Returns a PID for later management. Designed for dev servers, watch processes, and other long-running commands that need to stay alive while the agent continues working.
ShellKill Kill a background shell process by its PID. Returns any stdout/stderr captured while the process was running.

Information Gathering

2 tools

Tool What it does
WebFetch Fetch a URL over HTTP/HTTPS and return readable text. HTML pages are stripped to plain text (scripts/styles removed, block elements turned into line breaks). JSON, XML, and plain text are returned as-is. Configurable max character limit (default 20000).
WebSearch Search the web via DuckDuckGo (no API key required). Returns a ranked list of results with title, URL, and snippet. Supports up to 20 results and optional region filtering. The agent can follow up with WebFetch on a promising URL to read the full page.

Agent Management & Communication

5 tools

Tool What it does
DispatchSubagent Spawn a child agent to handle a subtask. The subagent inherits the same role and runs sequentially. Maximum 3 levels of nesting to prevent runaway recursion. Optional timeout (default 300 seconds).
SetSkill Create or update a named skill for the agent's own role. Skills are persistent instruction sets that survive across sessions. Requires user consent before applying changes.
GetSkill Fetch the full content of a skill by name. Skills are advertised as brief summaries at startup; the full content is loaded on demand to save tokens.
ViewChanges Introspect the built-in git repo at .raggie/git/. Supports three views: status (added/modified/deleted files), diff (line-by-line diffs), and log (commit history).
AskUser Ask the user a question mid-task. Supports predefined options (single-choice, multiple-choice, or free-form). The agent uses this to clarify requirements, confirm design decisions, or ask for preferences instead of guessing.

Todo Lists

9 tools

The todo list system lets the agent plan and execute complex multi-step tasks with user oversight. Tasks are executed sequentially by isolated subagents, and the user must approve the plan before any task runs. When all tasks are done, the todo list is automatically deleted.

Typical Todo List Workflow
1. GetActiveTodoList  check for existing incomplete todo list
2. CreateTodoList     create a new list
3. AddTask (x N)     add tasks with goals and requirements
4. GetTodoList        review the plan
5. ApproveTodoList    present to user for y/n approval
6. ExecuteNextTask    execute tasks one by one via subagents
Tool What it does
CreateTodoList Create a new todo list for the current session. Returns a todo_list_id used by all subsequent calls.
AddTask Add a task to a todo list. Each task has a goal, optional requirements, notes, context (background info for the subagent), and an order_index for execution order.
GetTodoList Retrieve and display a todo list with all tasks and their statuses: pending, in_progress, completed, failed, or cancelled.
ApproveTodoList Display the plan to the user and ask for approval (y/n). If approved, tasks can be executed. If rejected, the agent rebuilds the plan based on user feedback.
ExecuteNextTask Dispatch a subagent to execute the next pending task. Tasks run sequentially in order .; never in parallel. When all tasks are completed, the todo list is automatically deleted.
MarkTaskComplete Manually mark a task as completed. Useful when a task was finished outside the normal ExecuteNextTask flow, or to correct task status.
MarkTaskFailed Mark a task as failed when it encountered an unrecoverable error.
MarkTaskCancelled Mark a task as cancelled when it is no longer needed or should be intentionally skipped. Distinct from failed: cancelled means the task was deliberately not executed.
GetActiveTodoList Check for an incomplete todo list (pending, in_progress, or rejected) to resume. Used at the start of a session or after interruption to offer crash recovery.

Key Behaviors

  • Sequential execution: Tasks run one at a time, never in parallel. The subagent for each task receives a summary of all previously completed tasks.
  • Subagent isolation: Each task is handled by a fresh subagent with no access to the orchestrator's conversation history. The context field on AddTask is how you pass along knowledge.
  • Auto-deletion: When all tasks are completed, the todo list is automatically removed from the database.
  • Crash recovery: If the session is interrupted, GetActiveTodoList returns the incomplete list and the user is offered to resume it.
  • Nested todo lists: Subagents can create their own todo lists for complex subtasks, up to 3 levels deep.

Tool Count by Category

Code Exploration 7
File Operations 6
Information Gathering 2
Agent Management 5
Todo Lists 9
Total: 31 tools