GDScript language server for Claude Code via Godot's built-in LSP
npx claudepluginhub sods2/claude-code-gdscript-lspGDScript language server for Claude Code, providing code intelligence for Godot Engine projects
Share bugs, ideas, or general feedback.
A Claude Code plugin that provides GDScript code intelligence for Godot Engine projects. Get real-time diagnostics, hover info, go-to-definition, completions, and more — powered by Godot's built-in LSP server.
Claude Code ←stdio→ Bridge (Node.js) ←TCP→ Godot LSP (port 6005)
Godot's built-in language server speaks TCP, but Claude Code's LSP plugin system expects stdio. This plugin includes a lightweight Node.js bridge (~200 lines, zero runtime dependencies) that translates between the two protocols. The bridge auto-reconnects if Godot restarts.
.gd filesgit clone https://github.com/Sods2/claude-code-gdscript-lsp.git
cd claude-code-gdscript-lsp
./scripts/install.sh
The install script will:
gdscript-lsp-bridge command globally via npm link# 1. Build the bridge
cd bridge && npm install && npm run build
# 2. Make it globally available
npm link
# 3. Register and install in Claude Code
claude plugin marketplace add /path/to/claude-code-gdscript-lsp
claude plugin install gdscript-lsp
claude plugin list
You should see gdscript-lsp listed and enabled. Restart Claude Code for the plugin to take effect.
.gd and .gdshader filesIf you don't need the full editor open:
godot --editor --headless --lsp-port 6005
Or use the helper script:
./scripts/start-godot-lsp.sh /path/to/your/project
Set environment variables to customize behavior:
| Variable | Default | Description |
|---|---|---|
GODOT_LSP_PORT | 6005 | Godot LSP server TCP port |
GODOT_LSP_HOST | 127.0.0.1 | Godot LSP server host |
GODOT_LSP_DEBUG | false | Enable verbose bridge logging to stderr |
GODOT_PATH | godot | Path to Godot executable (for helper scripts) |
| Extension | Language |
|---|---|
.gd | GDScript |
.gdshader | Godot Shading Language |
claude-code-gdscript-lsp/
├── .claude-plugin/
│ └── marketplace.json # Claude Code marketplace manifest
├── bridge/
│ ├── src/
│ │ ├── index.ts # stdio ↔ TCP bridge orchestration
│ │ ├── tcp-connection.ts # TCP socket with auto-reconnect
│ │ └── message-parser.ts # LSP Content-Length message framing
│ ├── package.json
│ └── tsconfig.json
├── plugins/
│ └── gdscript-lsp/
│ └── README.md
├── scripts/
│ ├── install.sh # One-shot setup
│ └── start-godot-lsp.sh # Launch Godot in headless LSP mode
└── README.md
No diagnostics appearing
gdscript-lsp-bridge is in your PATH: which gdscript-lsp-bridgeBridge not connecting
export GODOT_LSP_DEBUG=truenc -z 127.0.0.1 6005Port conflicts
GODOT_LSP_PORT=6006 and configure Godot to matchUninstalling
claude plugin uninstall gdscript-lsp
claude plugin marketplace remove gdscript-lsp
cd bridge && npm unlink -g
MIT