Skip to content

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:

  1. Select the appropriate tool(s) based on your request
  2. Present the tool and its parameters for your review
  3. Execute the approved tool and display the results
  4. Repeat this process until the task is complete

Tool Categories

CategoryPurposeTool Names
ReadAccess file contents and code structureread_file, search_files, list_files, list_code_definition_names
EditCreate or modify files and codewrite_to_file, apply_diff
ExecuteRun system commands and operationsexecute_command
BrowserInteract with web contentbrowser_action
WorkflowManage task flow and contextask_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)

xml
<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 NameDescriptionCategory
read_fileReads file content with line numbersRead
search_filesSearches text or regex patterns across filesRead
list_filesLists files and directories at a given pathRead
list_code_definition_namesLists code definitions such as classes and functionsRead
write_to_fileCreates a new file or overwrites an existing oneEdit
apply_diffApplies precise changes to specific parts of a fileEdit
execute_commandRuns commands in the IDE terminalExecute
browser_actionPerforms actions in a headless browserBrowser
ask_followup_questionAsks you clarifying questionsWorkflow
attempt_completionMarks the current task as completeWorkflow
switch_modeSwitches to a different operational modeWorkflow
new_taskCreates a subtask with a specified starting modeWorkflow

Learn More About Tools

For complete parameter references and advanced usage of each tool, please consult the Tools Overview documentation.