Sui Move Analyzer
A high-performance language server for Sui Move smart contract development — built on the same architecture as rust-analyzer.
Why Sui Move Analyzer?
Built for Sui, not just Move. Unlike generic Move tooling, this analyzer understands Sui's object model, validates key structs require UID as their first field, checks ability constraints on object fields, and knows every module in the Sui framework.
AI-ready out of the box. The first Move language server with a built-in MCP server — give Claude, Cursor, Copilot, or any AI assistant deep semantic understanding of your Move code.
Incremental by design. Powered by Salsa (the same incremental computation engine behind rust-analyzer), every keystroke triggers only the minimal recomputation needed. Type inference, name resolution, and diagnostics update instantly.
Features
Smart Code Intelligence
- Code Completion — Context-aware suggestions for modules, functions, types, fields, and methods. Triggers on
., :, and ::.
- Go to Definition — Jump to any symbol across your project and its dependencies
- Find All References — Locate every usage of a symbol across the entire workspace
- Hover Information — Type signatures, ability constraints, and documentation
- Rename — Safe cross-file refactoring with scope-aware validation
- Inlay Hints — Inline type annotations and parameter name hints
- Semantic Highlighting — Rich token coloring beyond syntax — distinguishes modules, types, functions, fields, variables, and more
Sui-Aware Diagnostics
Real-time error detection that goes beyond syntax checking:
- Type checking — Full type inference with generics, references, and ability bounds
- Sui object validation — Ensures
key structs have id: UID first, fields have store ability
- Unresolved references — Catches typos and missing imports with auto-import suggestions
- Dead code detection — Flags unused variables, functions, imports, and constants
- Code style — Detects duplicate imports, unnecessary aliases, and visibility issues
Quick Fixes
- Auto-import — One-click import for unresolved modules and types
- Fix typos — Suggests corrections for misspelled symbol names
Multi-Package Workspaces
Handles real-world Sui projects with multiple packages, transitive dependencies, and Move.lock resolution. Named addresses resolve correctly across package boundaries.
AI Assistant Integration (MCP)
Built-in MCP server exposes 9 semantic analysis tools to AI assistants:
| Tool |
Description |
move_project_info |
Project structure and package overview |
move_file_outline |
Module, struct, function, and constant outline |
move_hover |
Type signatures and documentation at any position |
move_diagnostics |
Full semantic diagnostics for a file |
move_completions |
Context-aware completions at any position |
move_goto_definition |
Resolve symbol definitions |
move_find_references |
Find all usages of a symbol |
move_rename |
Rename symbols across the project |
move_open_file |
Index ad-hoc Move code for analysis |
Works with Claude Code, Claude Desktop, Cursor, VS Code Copilot, Windsurf, and any MCP-compatible client.
Getting Started
- Install this extension from the VS Code Marketplace
- Open a Sui Move project (a folder containing
Move.toml)
- The language server binary downloads automatically — start coding
macOS users: If you see a security warning, run xattr -d com.apple.quarantine on the binary or allow it in System Preferences > Security & Privacy.
Configuration
| Setting |
Default |
Description |
suiMoveAnalyzer.server.path |
sui-move-analyzer |
Path to the language server binary |
suiMoveAnalyzer.server.logLevel |
info |
Log level: error, warn, info, debug, trace |
suiMoveAnalyzer.trace.server |
off |
LSP trace: off, messages, verbose |
Troubleshooting
If the extension fails to start, check:
- The Output panel (
View > Output > Sui Move Analyzer) for error messages
- Your project has a
Move.toml at the workspace root
- The binary is installed:
which sui-move-analyzer
For more help, see the Troubleshooting Guide.
Links
License
Apache License 2.0