- The copilot.el package, Emacs’s GitHub Copilot client, updated to version 0.4 in February 2026, introducing interactive chat and Next Edit Suggestions.
- Next Edit Suggestions, a predictive editing feature, requires copilot-language-server version 1.434.0 or newer and uses the textDocument/copilotInlineEdit method.
- Emacs developers can now use local LLM alternatives like wingman, routing completions through llama.cpp servers or command-line tools without a GitHub Copilot subscription.
GitHub Copilot’s most interesting new trick in Emacs isn’t chat, it’s a feature that watches how you edit and then predicts changes you haven’t made yet, anywhere in the file. The copilot.el package hit version 0.4 in February 2026, bringing both a conversational chat interface and Next Edit Suggestions to Emacs for the first time. For a community that has always treated its editor as a programmable platform rather than a product, these additions matter: they shift AI assistance from reactive completion to something closer to a persistent editing collaborator.
What Next Edit Suggestions Actually Does
The feature runs through the textDocument/copilotInlineEdit language server method and requires a compatible version of the copilot-language-server. The chat interface is more straightforward: a conversational pane inside Emacs where you can ask for explanations, request code reviews, or draft documentation without switching context.
The chat interface is more straightforward: a conversational pane inside Emacs where you can ask for explanations, request code reviews, or draft documentation without switching context. Both features connect through the official @github/copilot-language-server via JSON-RPC, so they inherit whatever the upstream GitHub service ships, model improvements included. The practical cost is a GitHub Copilot subscription and a Node.js dependency for the language server.
How the Spacemacs Layer Fits In
For Spacemacs users, the GitHub Copilot layer already bundles copilot.el for completions and copilot-chat.el for AI interaction. It also ships experimental support for mcp.elan implementation of the Model Context Protocol that lets the chat AI run commands and touch the filesystem directly. Automatic Git commit message generation is available through the same layer. These aren’t groundbreaking features in isolation, but the packaging matters: Spacemacs users get a reasonably integrated AI workflow without manually wiring dependencies.
The Local LLM Alternative
Not everyone wants to route their code through GitHub’s servers. A parallel set of Emacs packages routes completions through locally running models instead. The jart/emacs-copilot project targets llamafile executables, letting developers run models like WizardCoder 34b entirely on their own hardware. Benchmarks like HumanEval suggest WizardCoder 34b performs comparably to GPT-4 on code tasks, though real-world performance on a specific codebase will vary.
wingman takes a different approach. Its Native FIM (fill-in-the-middle) mode connects directly to a llama.cpp server for fast automatic suggestions, while an Emulated FIM mode extends compatibility to a wider range of models through gptel backends. Asynchronous operations, response caching and project-aware context are all built in, so suggestions stay relevant without blocking the editing buffer. The distinction that matters for most developers choosing between copilot.el and wingman is straightforward: do you want to pay for a managed service and get GitHub’s latest model, or do you want full control over what runs and where?
Agentic Workflows and the Broader Ecosystem
gptel functions as a general-purpose LLM interface inside Emacs, supporting OpenAIAnthropic‘s Claude, Google’s Gemini and others. It handles code rewriting, summarisation and documentation generation, and serves as a backend for several other packages in the ecosystem. ai-code-interface.elreleased around September 2025, goes a step further: it wraps multiple command-line AI coding tools, Claude Code, Gemini CLI, OpenAI Codex and GitHub Copilot CLI, behind a single Emacs interface.
The llm.el library, last updated in May 2026, sits underneath much of this: it provides a common abstraction layer so that Emacs Lisp packages can call any supported model without hardcoding a provider. The practical effect is that a package built on llm.el lets users swap between a locally running model and a paid API backend without the package author needing to handle each provider separately. For developers who work across multiple projects with different constraints, one requiring air-gapped operation, another benefiting from a frontier model, that kind of flexibility is genuinely useful rather than an abstract architectural virtue. How widely these agentic capabilities are being adopted in daily Emacs workflows is harder to verify from public material, but the infrastructure to support them is clearly there. For more coverage of AI research and breakthroughs, visit our AI Research section.



