Features and Requirements
December 12, 2025 ยท View on GitHub
Core Features
Unified LLM Command Interface (:LLM)
- Send prompts directly to LLMs
- Process selected text or entire files with LLMs
- Explain code in current buffer
- Support for custom models and system prompts
- Interactive prompting with fragments support
Chat Interface (:LLMChat)
- Start interactive chat sessions with LLMs
- Conversation history management
- Streaming responses
- Continue previous conversations with
--continueflag
Unified Manager Window (:LLMConfig)
- Models view: List, select, and set default models
- Plugins view: Manage LLM plugins
- API Keys view: Manage API keys for multiple providers
- Fragments view: Manage files, URLs, and GitHub repos as fragments
Fragment Management
- Add files as fragments
- Add URLs as fragments
- Add GitHub repositories as fragments
- Reference fragments by alias or hash
- Use fragments in prompts to provide context
API Key Management
- Store API keys for multiple LLM providers
- Set keys via unified manager
- Secure key storage through llm CLI
Model Management
- List available models
- Select and set default model
- Support for custom models
- Integration with llm CLI model registry
Plugin Management
- List available llm plugins
- Install plugins via manager
- Refresh plugin list
Technical Requirements
Dependencies
- Neovim 0.7.0 or later (includes LuaJIT 2.1+)
- Lua 5.2+ API compatibility
- Uses
table.unpack(Lua 5.2+) - Compatible with Neovim's bundled LuaJIT
- No deprecated Lua 5.1-only APIs
- Uses
- llm CLI tool (Simon Willison's llm)
Output Format
- Markdown-formatted responses
- Syntax highlighting in response buffers
- Streaming output for real-time feedback
Asynchronous Execution
- Non-blocking command execution
- Job-based process management
- Callback-driven output handling
Auto-Update Feature
- Optional automatic CLI update checks
- Configurable update interval (default: 7 days)
- Multiple package manager support (uv, pipx, pip, brew)
Configuration Options
model: Default model to usesystem_prompt: Default system prompt for queriesno_mappings: Disable default key mappingsdebug: Enable debug loggingauto_update_cli: Enable/disable automatic CLI updatesauto_update_interval_days: Update check intervalllm_executable_path: Path to llm executable