llm-ls
llm-ls is a Language Server Protocol (LSP) server that integrates large language models into code editors for intelligent code completion. It works with multiple LLM backends (Hugging Face, OpenAI, Ollama, llama.cpp) and currently supports Neovim, VS Code, and IntelliJ IDEs.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | huggingface/llm-ls |
| Owner | huggingface |
| Primary language | Rust |
| License | Apache-2.0 — OSI-approved |
| Stars | 878 |
| Forks | 71 |
| Open issues | 27 |
| Latest release | 0.5.3 (2024-05-24) |
| Last updated | 2026-05-26 |
| Source | https://github.com/huggingface/llm-ls |
What llm-ls is
A Rust-based LSP server that tokenizes code context, uses fill-in-the-middle prompting, and parses AST to determine completion type (single-line, multi-line, or none). It supports Hugging Face Inference API, text-generation-inference, Ollama, and OpenAI-compatible endpoints with local telemetry logging.
Get the llm-ls source
Clone the repository and explore it locally.
git clone https://github.com/huggingface/llm-ls.gitcd llm-ls# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires a running LLM inference endpoint (Ollama, llama.cpp server, Hugging Face, or OpenAI). Evaluate latency and resource constraints of your chosen backend.
- AST parsing is language-dependent; verify your primary development language is properly supported for completion accuracy.
- Telemetry is logged locally to ~/.cache/llm_ls/llm-ls.log; plan log rotation and retention policies to avoid disk space issues.
- Context window management is handled by tokenization, but operators must understand token limits of their chosen model and tune prefix/suffix ratio.
- Multiple IDE extensions need separate installation and configuration; consider standardizing on one primary editor for rollout.
When to avoid it — and what to weigh
- Requires production-grade stability — README explicitly states 'expect things to be broken' and project is marked work-in-progress. Not recommended for mission-critical workflows without thorough validation.
- Need built-in model management — llm-ls is a LSP server only; it assumes you already have a model endpoint running. It does not handle model downloading, versioning, or lifecycle management.
- Require enterprise support or SLA — This is a community-driven open-source project with no commercial backing. No guaranteed response times, feature roadmap commitments, or vendor support.
- JupyterLab integration is critical — JupyterCoder extension is not yet implemented (marked incomplete in compatible extensions list), so Jupyter notebook code completion is not currently supported.
License & commercial use
Apache License 2.0 (Apache-2.0) permits commercial use, modification, and distribution under standard Apache terms (attribution, license inclusion, state changes).
Apache-2.0 is a permissive OSI-approved license that explicitly allows commercial use and derivative works. However, verify that any LLM backend you integrate (OpenAI, Hugging Face, custom model) has compatible commercial terms, as those are separate dependencies outside llm-ls's license scope.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
Local telemetry logging only (not exported by default). No built-in encryption of cached logs. Depends on security posture of: (1) chosen LLM endpoint (network isolation, API key management), (2) IDE extension (code context sent to LSP server), (3) local file permissions on ~/.cache/llm_ls/. Requires security review before use with sensitive codebases or regulated data.
Alternatives to consider
GitHub Copilot
Mature, production-grade, supported in major IDEs, cloud-hosted. Trade-off: closed-source, no self-hosted option, code telemetry to GitHub, licensing costs.
Tabnine
Multi-backend LSP server with enterprise support and stricter privacy controls. Trade-off: proprietary SaaS option, less community-driven, different model selection.
Continue.dev
Open-source IDE plugin with LLM integration and local model support. Trade-off: plugin-based architecture (not LSP), different backend abstraction model.
Build on llm-ls with DEV.co software developers
Evaluate llm-ls for your development environment. Verify backend compatibility, test with your IDE, and plan for endpoint management and security.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
llm-ls FAQ
Can I use llm-ls without sending code to OpenAI?
What happens if the LLM endpoint goes down?
Does llm-ls track or export my code?
Is this ready for production?
Custom software development services
Need help beyond evaluating llm-ls? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and ai coding agents integrations — and maintain them long-term.
Ready to integrate intelligent code completion?
Evaluate llm-ls for your development environment. Verify backend compatibility, test with your IDE, and plan for endpoint management and security.