How Tools Work
VJSP interacts with your code and development environment through tools. These specialized assistants perform specific actions—such as reading files, editing content, running commands, or searching your codebase—to automate common development tasks without manual intervention.
Tool Workflow
Describe your task in natural language, and VJSP will:
- Select the appropriate tool(s) based on your request
- Present the tool and its parameters for your review
- Execute the approved tool and display the results
- Repeat this process until the task is complete
Tool Categories
| Category | Purpose | Tool Names |
|---|---|---|
| Read | Access file contents and code structure | read_file, search_files, list_files, list_code_definition_names |
| Edit | Create or modify files and code | write_to_file, apply_diff |
| Execute | Run system commands and operations | execute_command |
| Browser | Interact with web content | browser_action |
| Workflow | Manage task flow and context | ask_followup_question, attempt_completion, switch_mode, new_task |
Example: Tool Usage
Below is a typical tool interaction flow:

The tool approval interface shows Save/Reject buttons and an auto-approval option.
User: Create a file named greeting.js that outputs a greeting message.
VJSP: (Proposes using the write_to_file tool, as shown above)
<write_to_file>
<path>greeting.js</path>
<content>
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet('World');
</content>
<line_count>5</line_count>
</write_to_file>User: (Clicks the Save button in the interface)
VJSP: (Confirms successful file creation)
Tool Safety and Approval
Every tool usage requires your explicit approval. When VJSP suggests a tool, you’ll see:
- Save button – Approve and execute the tool
- Reject button – Decline the suggested action
- Optional Auto-Approval setting – For trusted, repetitive operations
This safety mechanism ensures full control over which files are modified, which commands are run, and how your codebase is changed. Always carefully review tool proposals before execution.
Core Tools Reference
| Tool Name | Description | Category |
|---|---|---|
read_file | Reads file content with line numbers | Read |
search_files | Searches text or regex patterns across files | Read |
list_files | Lists files and directories at a given path | Read |
list_code_definition_names | Lists code definitions such as classes and functions | Read |
write_to_file | Creates a new file or overwrites an existing one | Edit |
apply_diff | Applies precise changes to specific parts of a file | Edit |
execute_command | Runs commands in the IDE terminal | Execute |
browser_action | Performs actions in a headless browser | Browser |
ask_followup_question | Asks you clarifying questions | Workflow |
attempt_completion | Marks the current task as complete | Workflow |
switch_mode | Switches to a different operational mode | Workflow |
new_task | Creates a subtask with a specified starting mode | Workflow |
Learn More About Tools
For complete parameter references and advanced usage of each tool, please consult the Tools Overview documentation.
