karthink/gptel

A simple, extensible LLM client for Emacs

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 33 minutes ago
Added to GitGenius on September 19th, 2026
Created on March 6th, 2023
Open Issues & Pull Requests: 191 (+0)
GitHub issues: Enabled
Number of forks: 434
Total Stargazers: 3,534 (+0)
Total Subscribers: 42 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 126
New in 7 days: 4
Closed in 7 days: 0
Avg open age: 358 days
Stale 30+ days: 107
Stale 90+ days: 94

Recent activity

Opened in 7 days: 3
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (252)
  • enhancement (178)
  • question (119)
  • waiting (48)
  • feature request (22)
  • help wanted (10)

Detailed Description

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.