✓ Verified 💻 Development ✓ Enhanced Data

Vscode Node

Operate on code through a VS Code/Cursor IDE connected as an OpenClaw Node.

Rating
4 (487 reviews)
Downloads
6,972 downloads
Version
1.0.0

Overview

Operate on code through a VS Code/Cursor IDE connected as an OpenClaw Node.

Complete Documentation

View Source →

VS Code / Cursor Node Skill

Control a VS Code or Cursor IDE remotely through the OpenClaw Node protocol.

Related

Prerequisites

  • Extension openclaw-node-vscode installed and connected (status bar 🟢)
  • Node visible in nodes status
  • Commands in Gateway's allowCommands whitelist

Invocation Pattern

text
nodes invoke --node "<name>" --invokeCommand "<cmd>" --invokeParamsJson '{"key":"val"}'

Both invokeTimeoutMs (Gateway internal) and timeoutMs (HTTP layer, must be larger) are required for long operations.

Timeout guide:

TypeinvokeTimeoutMstimeoutMs
File/editor/lang1500020000
Git3000035000
Test6000065000
Agent plan/ask180000185000
Agent run300000305000

Command Categories

CategoryPrefixKey CommandsReference
Filevscode.file.read, write, edit, deletecommands/file.md
Directoryvscode.dir.listcommands/file.md
Languagevscode.lang.definition, references, hover, symbols, rename, codeActions, formatcommands/language.md
Editorvscode.editor.active, openFiles, selectionscommands/editor.md
Diagnosticsvscode.diagnostics.getcommands/editor.md
Gitvscode.git.status, diff, log, blame, stage, commit, stashcommands/git.md
Testvscode.test.list, run, resultscommands/test-debug.md
Debugvscode.debug.launch, stop, breakpoint, evaluate, stackTrace, variablescommands/test-debug.md
Terminalvscode.terminal.run (disabled by default)commands/terminal.md
Agentvscode.agent.status, run, setup (Cursor only)commands/agent.md
Workspacevscode.workspace.*infocommands/editor.md

Quick Examples

Read a file

text
nodes invoke --node "my-vscode" --invokeCommand "vscode.file.read" --invokeParamsJson '{"path":"src/main.ts"}'
→ { content, totalLines, language }

Find all references

text
nodes invoke --node "my-vscode" --invokeCommand "vscode.lang.references" --invokeParamsJson '{"path":"src/main.ts","line":10,"character":5}'
→ { locations: [{ path, line, character }] }

Git status + commit

text
nodes invoke --node "my-vscode" --invokeCommand "vscode.git.status"
→ { branch, staged, modified, untracked, ahead, behind }

nodes invoke --node "my-vscode" --invokeCommand "vscode.git.stage" --invokeParamsJson '{"paths":["src/main.ts"]}'
nodes invoke --node "my-vscode" --invokeCommand "vscode.git.commit" --invokeParamsJson '{"message":"fix: resolve type error"}'

Delegate to Cursor Agent

text
nodes invoke --node "my-vscode" --invokeCommand "vscode.agent.run" --invokeParamsJson '{"prompt":"Add error handling to all API endpoints","mode":"plan"}' --invokeTimeoutMs 180000 --timeoutMs 185000
→ { output, exitCode }

Common Workflows

See references/workflows.md for detailed step-by-step workflows:

  • Fix a type error
  • Safe cross-file refactor
  • Delegate complex task to Cursor Agent

Error Handling

ErrorCauseSolution
node command not allowedNot in Gateway whitelistAdd to gateway.nodes.allowCommands
node not foundExtension not connectedCheck extension status bar
timeoutOperation too longIncrease both timeout params
path traversal blockedPath outside workspaceUse relative paths only
read-only modeExtension in read-onlyDisable openclaw.readOnly setting

Security

  • All paths are relative to workspace root — absolute paths and ../ blocked
  • Writes respect readOnly and confirmWrites extension settings
  • Terminal disabled by default, whitelist-only when enabled
  • Each device has unique Ed25519 identity, must be approved by Gateway

Installation

Terminal bash

openclaw install vscode-node
    
Copied!

💻Code Examples

nodes invoke --node "<name>" --invokeCommand "<cmd>" --invokeParamsJson '{"key":"val"}'

nodes-invoke---node-name---invokecommand-cmd---invokeparamsjson-keyval.txt
Both `invokeTimeoutMs` (Gateway internal) and `timeoutMs` (HTTP layer, must be larger) are required for long operations.

**Timeout guide:**

| Type | invokeTimeoutMs | timeoutMs |
|------|----------------|-----------|
| File/editor/lang | 15000 | 20000 |
| Git | 30000 | 35000 |
| Test | 60000 | 65000 |
| Agent plan/ask | 180000 | 185000 |
| Agent run | 300000 | 305000 |

## Command Categories

| Category | Prefix | Key Commands | Reference |
|----------|--------|-------------|-----------|
| **File** | `vscode.file.*` | read, write, edit, delete | [commands/file.md](references/commands/file.md) |
| **Directory** | `vscode.dir.*` | list | [commands/file.md](references/commands/file.md) |
| **Language** | `vscode.lang.*` | definition, references, hover, symbols, rename, codeActions, format | [commands/language.md](references/commands/language.md) |
| **Editor** | `vscode.editor.*` | active, openFiles, selections | [commands/editor.md](references/commands/editor.md) |
| **Diagnostics** | `vscode.diagnostics.*` | get | [commands/editor.md](references/commands/editor.md) |
| **Git** | `vscode.git.*` | status, diff, log, blame, stage, commit, stash | [commands/git.md](references/commands/git.md) |
| **Test** | `vscode.test.*` | list, run, results | [commands/test-debug.md](references/commands/test-debug.md) |
| **Debug** | `vscode.debug.*` | launch, stop, breakpoint, evaluate, stackTrace, variables | [commands/test-debug.md](references/commands/test-debug.md) |
| **Terminal** | `vscode.terminal.*` | run (disabled by default) | [commands/terminal.md](references/commands/terminal.md) |
| **Agent** | `vscode.agent.*` | status, run, setup (Cursor only) | [commands/agent.md](references/commands/agent.md) |
| **Workspace** | `vscode.workspace.*` | info | [commands/editor.md](references/commands/editor.md) |

## Quick Examples

### Read a file
example.txt
nodes invoke --node "my-vscode" --invokeCommand "vscode.git.status"
→ { branch, staged, modified, untracked, ahead, behind }

nodes invoke --node "my-vscode" --invokeCommand "vscode.git.stage" --invokeParamsJson '{"paths":["src/main.ts"]}'
nodes invoke --node "my-vscode" --invokeCommand "vscode.git.commit" --invokeParamsJson '{"message":"fix: resolve type error"}'

Tags

#coding_agents-and-ides #code

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author xiaoyaner0201
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install vscode-node