Share Aider output without GitHub Gist

Aider stores every session in .aider.chat.history.md, a plain markdown file in your project root. The fastest path from that file to a shareable URL is:

anchorify .aider.chat.history.md

You get one URL on stdout. No Gist account, no copy-paste, no GitHub login required for the person you're sending it to. The rest of this post explains the full workflow, what Gist gets wrong for this use case, and how to set up auto-publish so you never think about it again.

Where Aider stores its output and what the file looks like

Aider writes every session to .aider.chat.history.md in the project root: a plain markdown file containing your messages, the model's replies, and code diff blocks showing every change it proposed.

The file is created automatically. If you want to change the path, set chat-history-file in .aider.conf.yml:

chat-history-file: notes/aider-session.md

A typical transcript looks like this:

> Refactor the auth module to use JWT instead of session cookies

Sure. I'll update `src/auth.ts` and `src/middleware.ts`.

src/auth.ts
<<<<<<< ORIGINAL
export function getSession(req) {
  return req.cookies.session;
}
=======
export function verifyToken(req) {
  return jwt.verify(req.headers.authorization?.split(' ')[1], SECRET);
}
>>>>>>> UPDATED

The file is valid markdown and renders cleanly in any markdown viewer. Aider also writes .aider.llm.history (raw LLM dialogue, useful for debugging) and .aider.input.history (your CLI commands), but those aren't what you share. The chat history file is the deliverable.

Why Gist is the default path and where it breaks down for non-engineers

GitHub Gist is the easiest place to paste a markdown file and get a URL, which is why Aider users reach for it first. The problem shows up when the person receiving the link isn't an engineer.

The URL communicates nothing. A Gist URL looks like gist.github.com/alice/a1b2c3d4e5f6... with a 32-character hex ID. A PM or designer opening that link has no idea what they're looking at before the page loads.

Public Gists are search-indexed. When you create a Gist, GitHub prompts you to choose "Create public gist" or "Create secret gist." It's easy to pick the wrong one, especially if you're sharing quickly. A public Gist containing a draft architecture plan or a refactor transcript will appear in Google results. Secret Gists are not indexed, but they still carry the opaque URL and full GitHub chrome.

The page looks like a developer tool. A Gist page has GitHub's full header, a profile nav, a file-type badge, and tabs for Raw, Blame, and History. The rendering is fine for a developer skimming code. For a PM who just wants to read the session notes, it reads as noise.

No analytics, no comments from non-GitHub users. You can't see who read the Gist or when. Non-GitHub users can view but can't comment. If the PM has a question about a section, they paste the URL into Slack and start a new thread.

Anchorify vs Gist for Aider output

Anchorify and GitHub Gist both turn a markdown file into a URL. The difference is who the recipient is designed to be.

Feature Anchorify GitHub Gist
Default visibility Secret (noindex) Public (search-indexed)
URL format anchorify.io/you/project-name gist.github.com/user/32hexid
Page chrome Minimal, doc-styled Full GitHub UI
Syntax highlighting Yes Yes
Update in place Same command, same URL Via git push or web edit
Comments from non-GitHub users Yes No
Viewer analytics Yes (per-share) No
Password protection Yes No
Recipient needs GitHub account No No
Free to use Yes (beta) Yes

The feature gap that matters most for Aider output is the default visibility row. When you share a refactor plan or an architecture session, "secret by default" is the right default. Anchorify produces a URL that's accessible to anyone who has it, not indexed by search engines, and doesn't require the recipient to have any account.

The URL format row matters for a different reason: the URL is the first thing the recipient sees. anchorify.io/alice/refactor-auth-jwt tells the reader what they're about to open. The Gist equivalent tells them nothing.

How to publish an Aider session to Anchorify

Publishing an Aider session takes two steps: install the CLI once, then run one command after each session.

Install:

npm i -g anchorify
anchorify login

The login command asks for a token, which you create at anchorify.io/dashboard. The token is stored locally at ~/.config/anchorify/auth.json.

Publish after any session:

anchorify .aider.chat.history.md

One URL on stdout. Copy it, send it to whoever needs to see the session.

Re-run after the next session. The same command updates the content at the same URL. Anchorify stores the file-to-slug mapping locally, so anchorify .aider.chat.history.md always resolves to the same share. The recipient can bookmark it and refresh after each session.

Copy to clipboard automatically:

anchorify .aider.chat.history.md | pbcopy   # macOS
anchorify .aider.chat.history.md | xclip    # Linux

Auto-publish when Aider exits. Add a wrapper alias to your shell config:

# ~/.zshrc or ~/.bashrc
aider() {
  command aider "$@"
  if [[ -f .aider.chat.history.md ]]; then
    url=$(anchorify .aider.chat.history.md 2>/dev/null)
    [[ -n "$url" ]] && echo "transcript: $url"
  fi
}

After the alias is active, every Aider session auto-publishes on exit and prints the URL. You don't have to remember to run the command.

Visibility options. By default, Anchorify publishes with public visibility, meaning anyone with the link can view and the share is not search-indexed. For tighter control:

See the visibility docs for the full table.

The full Aider integration reference lives at /docs/agents/aider.

Frequently Asked Questions

These are the questions that come up most often when Aider users look for a better sharing workflow.

Does Aider have a built-in share or export feature?

Aider has no built-in share or export feature. It writes .aider.chat.history.md locally, and sharing is left to the user. The most common ad-hoc path is pasting the file's contents into a GitHub Gist. There is no native Gist integration, webhook, or export command in Aider's CLI or configuration.

What does .aider.chat.history.md look like?

It is a markdown file with user messages prefixed by > and model replies in plain markdown, plus code edit blocks showing the original and updated code sections side by side. Any markdown renderer, including Anchorify, displays it cleanly with syntax highlighting on code blocks.

Are GitHub Gists free?

Yes, GitHub Gist is free for both public and secret gists. The limitation is not cost. The issue is that the URL is a 32-character opaque hex ID, the page renders inside GitHub's developer-tool UI, public gists are search-indexed by default, and there are no viewer analytics or comments for non-GitHub users.

What happens to the Anchorify URL when I run Aider again?

Running anchorify .aider.chat.history.md after a subsequent Aider session updates the content at the same URL. The URL does not change. Anchorify maps the file's absolute path to a slug in a local file (~/.config/anchorify/published.json), so the same file always resolves to the same share. Send the link once; your collaborator refreshes it after each session.

Can I keep the transcript private but share it with one person?

Yes. Publish with anchorify .aider.chat.history.md --unlisted to get a secret URL: not search-indexed, but viewable by anyone who has the link. For tighter access, --members requires the viewer to sign in to your Anchorify org. The visibility docs cover all three tiers with a table.


Sources


Anchorify publishes any markdown file as a stable URL with one command. If you use Aider and want a cleaner link than Gist for the people you collaborate with, try it free at anchorify.io.

Last updated: 2026-05-24