This a post on my "Noframes" wiki.
RediscoveringMacher
This is a piece about an agentic LLM harness for Emacs that executes no code.
Today I rediscovered Macher1, a wrapper around gptel.
That is, actually, I just went back to Emacs and I always knew I want to go back to knowing how to use gptel. And I was confident macher was just a set of tools for the completions api to be invoked with. I was wrong.
First I launched gptel2. I remembered it to be a buffer chat interface that first thing asks for a buffer (usually to create a new buffer for the chat), has some clickable options like where should it write the responses and which buffers should be the context.
And I saw it outputs Markdown, for example a code block that starts with "reasoning:". But I recalled enjoying something being Org Mode!
It reached me that I should use M-x macher-implement3. In a project.el project per the buffer I call from4, supposedly — it puzzled me at first when I still thoughts the default way should be to just use its tools from gptel! But I got reminded that these are usually just a directory root that version control (like .git) was detected in.
There, there's Org Mode5. It even continues to work after a "Save As…" which also assigns that buffer to a file so subsequent C-x C-s save it to the same place.
Although, first time I invoked a big prompt, my system had to kill Emacs after everything ran out of resources at some point during the reasoning phase… actually the main issue was that I ran it from a Dired buffer. Next time I was more cautious.
Macher tools have no code execution. This is all just file manipulation, bounded to the project. And every time it finishes a turn… you get a diff buffer. To apply the hunks. No changes are done if you don't apply the hunks, not even if you invoke a next prompt within the chat buffer.
At the end of its response, it gives you an empty Org asterisk heading. You type another prompt in that context… and you hit C-c RET.
October, 2026.
Footnotes:
github.com/kmontag/macher — distributed via MELPA. Filesystem-only tooling, with no shell access. Edits are returned as a unified diff, applied one hunk at a time.
github.com/karthink/gptel — an extensible LLM chat client, for which Macher serves as a plugin.
README § Actions — three built-in actions share a single pattern (focus string → prompt → dedicated buffer with a preset): macher-implement (mentioned), macher-revise (iterate on a patch), and macher-discuss (read-only Q&A).
GNU Emacs Manual: Projects — the workspace is scoped through project.el, taking any .git root as its boundary.
According to README § Customization, setting macher-action-buffer-ui to 'org yields Org-mode rendering in the action buffer, complete with folding and source-block highlighting — while the default, 'default, is plain text. I don't know why I see Org out of the box.