ToolPilotRun autonomous AI agent loops with any external tools — powered by your Copilot subscription. No external API keys required for tool execution. Uses existing GitHub Copilot access within VS Code. Write tools in any language. Get structured JSON output. What Is This?ToolPilot turns any script into an autonomous AI agent that uses your existing GitHub Copilot subscription to run multi-round tool-calling loops — the same way Kilo Code or Cline work, but free. You provide:
ToolPilot does the rest:
No human-in-the-loop. No chat window. Fully autonomous. Why ToolPilot?
Quick Start1. InstallInstall from the VS Code Marketplace or:
2. Create a Tool ScriptAny script that supports two modes: List tools (
Execute tool (
That's it. Two modes. Any language. 3. Add ConfigCreate
4. Trigger the AgentWrite an
ToolPilot watches for file changes, runs the autonomous agent loop, and writes Or run manually: Ctrl+Shift+P → ToolPilot: Run Agent Configuration Reference
|
| Setting | Default | Description |
|---|---|---|
toolpilot.configFile |
.vscode/toolpilot.json |
Path to config file |
toolpilot.logLevel |
normal |
Logging verbosity |
Tool Script Protocol
Your tool script must handle two invocations:
--list-tools
Print a JSON array of tool definitions to stdout:
[
{
"name": "tool_name",
"description": "What this tool does — be detailed, the LLM reads this",
"inputSchema": {
"type": "object",
"properties": {
"param1": { "type": "string", "description": "Parameter description" }
},
"required": ["param1"]
}
}
]
--tool <name> --args <json>
Execute the named tool with the JSON arguments. Print the result to stdout as plain text.
# Example invocations:
python tools.py --tool search_logs --args '{"pattern": "ERROR"}'
node tools.js --tool query_db --args '{"sql": "SELECT count(*) FROM orders"}'
./tools.sh --tool check_health --args '{"endpoint": "https://api.example.com"}'
Example Tool Scripts
- Python: examples/python-tools.py — File search, grep, code analysis, shell commands
- More examples at github.com/rnamburi/toolpilot/examples
Commands
| Command | Description |
|---|---|
| ToolPilot: Run Agent | Enter a query and run the agent loop |
| ToolPilot: Run Agent with Input File | Trigger agent using the configured watch file |
| ToolPilot: Show Loaded Tools | List all tools loaded from your script |
| ToolPilot: Stop Agent | Cancel a running agent loop |
Real-World Use Cases
Incident Triage
Write tools that search production logs, query databases, check service health. Trigger with incident data. Get structured diagnosis + fix recommendations.
Automated Code Review
Write tools that run linters, check test coverage, search for patterns. Trigger with PR diff. Get structured findings + severity ratings.
Security Scanning
Write tools that check dependencies, scan for secrets, analyze permissions. Trigger on code changes. Get vulnerability report with remediation steps.
Data Pipeline QA
Write tools that validate schemas, check row counts, compare distributions. Trigger on new data. Get quality report with anomalies flagged.
CI/CD Integration
Your pipeline writes input.json → ToolPilot runs analysis → pipeline reads output.json. Works with any CI system.
How It Works
┌─────────────────────┐
│ Your Tool Script │
│ (Python/Node/etc) │
└──────────┬──────────┘
│
input.json ──► ToolPilot ──────┤──── Copilot LLM ──► output.json
(trigger) Extension │ (Claude/GPT-4o) (results)
│
┌──────────┴──────────┐
│ Autonomous Agent │
│ Loop (up to 12 │
│ rounds of tool │
│ calling) │
└─────────────────────┘
- Trigger: File watcher detects
input.jsonchange (or manual command) - Load: Tools loaded dynamically from your script via
--list-tools - Loop: LLM reads input + tool list → decides which tools to call → gets results → decides next step → repeats
- Output: When LLM has enough info, it writes structured JSON to
output.json
The LLM (Claude Opus, GPT-4o, etc.) runs via your Copilot subscription — no API keys needed.
Requirements
- VS Code 1.95+
- GitHub Copilot subscription (any tier)
- Python, Node, or any runtime for your tool scripts
License
MIT
Built by an engineer who wanted autonomous AI agents using existing Copilot access.