Claude Code marketplace providing AL Language Server wrappers for Business Central development.
| Wrapper | Platform | Description |
|---|---|---|
al-language-server-go-windows |
Windows | Recommended - Go wrapper with Code Lens & Call Hierarchy |
al-language-server-go-linux |
Linux | Recommended - Go wrapper with Code Lens & Call Hierarchy |
al-language-server-go-darwin |
macOS | Recommended - Go wrapper with Code Lens & Call Hierarchy |
al-language-server-python |
Cross-platform | Deprecated - Basic LSP features only |
Migration Note: If you're using the Python wrapper, switch to the Go wrapper for your platform to get Code Lens (reference counts) and Call Hierarchy features.
- Hover - Type information and documentation
- Go to Definition - Jump to symbol definitions (tables, codeunits, enums, procedures)
- Document Symbols - List all symbols in a file
- Find References - Find all references to a symbol
- Call Hierarchy - Find incoming and outgoing calls for procedures
- Multi-project support - Workspaces with multiple AL apps
- VS Code with the AL Language extension installed
The Go wrappers are compiled binaries with no runtime dependencies. The wrapper automatically finds the newest AL extension version in your VS Code extensions folder.
# PowerShell (current session)
$env:ENABLE_LSP_TOOL = "1"
claude
# PowerShell (permanent)
[Environment]::SetEnvironmentVariable("ENABLE_LSP_TOOL", "1", "User")# Bash
export ENABLE_LSP_TOOL=1
claude/plugin marketplace add SShadowS/claude-code-lsps
- Type
/plugins - Tab to
Marketplaces - Enter
claude-code-lspsmarketplace - Select the Go wrapper for your platform:
- Windows:
al-language-server-go-windows - Linux:
al-language-server-go-linux - macOS:
al-language-server-go-darwin
- Windows:
- Press "i" to install
- Restart Claude Code
Claude can use these LSP operations on AL files:
| Operation | Status | Description |
|---|---|---|
goToDefinition |
Working | Go to symbol definition |
goToImplementation |
Working | Go to implementation |
hover |
Working | Get type/documentation info |
documentSymbol |
Working | List symbols in file |
findReferences |
Working | Find all references |
prepareCallHierarchy |
Working | Get call hierarchy item at position |
incomingCalls |
Working | Find callers of a procedure |
outgoingCalls |
Working | Find calls made by a procedure |
workspaceSymbol |
Bug | See Known Issues |
Claude Code's LSP tool has a bug where it doesn't pass the required query parameter for workspaceSymbol. This causes the operation to always return 0 symbols.
Workarounds:
- Use
documentSymbolto list symbols in a specific file - Use
Grepto search for symbol names across the workspace
See KnownIssues.md for full details and technical analysis.