gptel is a simple, extensible LLM client for Emacs that integrates large language model chat capabilities directly into the editor.
The tool solves the problem of accessing LLM capabilities without leaving Emacs by providing a chat interface that works uniformly across any buffer, from regular text files to the shell or minibuffer. It supports multiple independent conversations, one-off interactions, and everything in between. Responses are formatted in Markdown or Org markup, and the tool can save chats as regular files for later resumption. Users can edit previous prompts or responses before continuing a conversation, and the tool provides introspection to see exactly what will be sent to the model before submission.
gptel suits Emacs users who want LLM integration without context switching and who value the ability to work with conversations as persistent, editable files. The tool supports multiple models and backends, multi-modal input including images and documents, tool-use for agentic capabilities, Model Context Protocol integration, and reasoning content in responses. It works with Curl if available but falls back to Emacs's built-in url-retrieve, requiring no external dependencies. Users can also create custom commands using a simple API to define their own workflows.
The project shows consistent engagement with regular updates addressing user-reported issues and feature requests. Development includes incremental improvements to existing functionality alongside support for emerging LLM capabilities like reasoning content and tool-use. The maintainer actively responds to community contributions and maintains documentation through the project wiki.