Complete guide to CLIO's built-in tools
CLIO provides a comprehensive set of tools for interacting with your system. Each tool is operation-based with multiple capabilities.
Purpose: File and directory management
read_file - Read file content with optional line rangeswrite_file - Overwrite existing filecreate_file - Create new file with contentappend_file - Append content to filereplace_string - Find and replace textmulti_replace_string - Batch replace operations across multiple filesinsert_at_line - Insert content at specific linedelete_file - Delete file or directoryrename_file - Rename or move filecreate_directory - Create directory with parentslist_dir - List directory contents (optionally recursive)file_exists - Check if file or directory existsget_file_info - Get file metadata (size, type, modified time)file_search - Find files matching glob patterngrep_search - Search file contents with regexsemantic_search - Hybrid keyword and symbol search across codebasePurpose: Git version control operations
status - Repository status and changesdiff - Show differences between commits/brancheslog - Git commit historycommit - Create commitsbranch - Branch operations (list, create, switch, delete)push - Push changes to remotepull - Pull changes from remotestash - Stash operations (save, list, apply, drop)tag - Tag operations (list, create, delete)blame - Show file annotationworktree - Worktree operations (list, add, remove, prune, merge, pr)Purpose: Execute shell commands safely with validation and timeout
exec - Run command and capture outputvalidate - Check command safety before executionCommands are classified by intent (network access, credential reading, system destruction) and confirmed with the user based on risk level.
Purpose: Store and recall information across sessions
store - Store key-value pairsretrieve - Get stored informationsearch - Find memories by keywordlist - List all memory keysdelete - Remove stored memoryrecall_sessions - Search previous session history with keyword extraction and ranked resultsadd_discovery - Store discovered facts with confidence levelsadd_solution - Store problem-solution pairs with example file pathsadd_pattern - Store code/workflow patternsupdate_ltm - Update existing LTM entries (correct outdated information)prune_ltm - Remove old/low-confidence entriesltm_stats - Get LTM statisticsPurpose: Manage structured task lists with progress tracking
read - Get current todo listwrite - Create/replace entire listupdate - Change status of existing todosadd - Append new todosPurpose: Fetch URLs and search the web
fetch_url - Fetch content from URLsearch_web - Web search (SerpAPI, Brave Search, or DuckDuckGo fallback)Purpose: Code analysis, symbol search, and project history
list_usages - Find all references to a symbol across the codebasesearch_history - Semantic search through git commit messages (find past work by natural language query)Purpose: Request user input during tasks
request_input - Ask for clarification or decisionsThis tool implements checkpoint discipline - the AI pauses execution and waits for human input before proceeding. It's free (doesn't consume an API request) and blocks until the user responds.
Purpose: Apply diff-based patches to create, modify, or delete files
Uses a lightweight diff format that's more efficient than full file rewrites. Each patch can contain multiple file operations with context-based anchoring for precise edits.
Purpose: Execute CLIO tasks on remote systems via SSH
execute_remote - Run CLIO task on remote systemexecute_parallel - Run task on multiple devices simultaneouslyprepare_remote - Pre-stage CLIO without executingcleanup_remote - Remove CLIO from remotecheck_remote - Verify remote connectivitytransfer_files - Copy files to remoteretrieve_files - Fetch files from remoteCopies the local CLIO installation to remote systems via rsync, ensuring version consistency. API keys are passed via environment variables and never persisted on remote systems.
Purpose: Spawn and manage sub-agents for parallel work
spawn - Create a new sub-agent with a specific tasklist - List all active sub-agents and their statusstatus - Get detailed status of a specific agentinbox - Check for unread messages from sub-agentsacknowledge - Mark messages as readhistory - View all messages from the sessionsend - Send guidance to a specific agentbroadcast - Send message to all agentskill - Terminate a specific agentkillall - Terminate all agentsSub-agents run as separate processes and communicate with the parent agent via a message-passing system. The parent acts as a manager - spawning tasks, monitoring progress, and validating results.
When CLIO uses tools, you see real-time notifications showing what's happening:
SYSTEM: [file_operations] - Reading ./config.json (254 lines)
SYSTEM: [version_control] - git status
SYSTEM: [terminal_operations] - Executing: npm install
All tool calls are visible, so you always know what CLIO is doing on your system.