gptel and chatgpt-shell

These are complementary Emacs LLM interfaces optimized for different workflows—gptel prioritizes lightweight integration into existing buffers and workflows, while chatgpt-shell provides a dedicated interactive shell environment with broader model support and editing features.

gptel
72
Verified
chatgpt-shell
54
Established
Maintenance 25/25
Adoption 10/25
Maturity 16/25
Community 21/25
Maintenance 10/25
Adoption 10/25
Maturity 16/25
Community 18/25
Stars: 3,246
Forks: 367
Downloads:
Commits (30d): 67
Language: Emacs Lisp
License: GPL-3.0
Stars: 1,203
Forks: 106
Downloads:
Commits (30d): 0
Language: Emacs Lisp
License: GPL-3.0
No Package No Dependents
No Package No Dependents

About gptel

karthink/gptel

A simple, extensible LLM client for Emacs

Supports tool-use for agentic workflows, multi-modal input (images/documents), and Model Context Protocol integration. Uses Curl with fallback to built-in url-retrieve, enabling work across 25+ LLM backends (OpenAI, Claude, Ollama, Gemini, etc.). Provides introspection to inspect/modify queries before sending, editable conversation history, and persistent chat sessions as Markdown/Org files.

About chatgpt-shell

xenodium/chatgpt-shell

A multi-llm Emacs shell (ChatGPT, Claude, DeepSeek, Gemini, Kagi, Ollama, Perplexity) + editing integrations

Built on Emacs's comint shell infrastructure, it provides a unified interface for querying multiple LLM providers (OpenAI, Anthropic, Google, Ollama, etc.) with instant model-swapping. Beyond the shell, a compose-buffer workflow enables region-based prompt crafting with editable drafts, in-context navigation through source blocks, and transient menus for common actions like code refactoring or unit test generation.

Scores updated daily from GitHub, PyPI, and npm data. How scores work