AI conversations

How to save ChatGPT, Claude and Gemini conversations to Obsidian

Updated October 14, 2026 · 4 min read

The useful part of an AI conversation is usually twenty lines buried in a chat you will never scroll back to. Saving ChatGPT, Claude and Gemini conversations to Obsidian fixes that, provided the saving costs nothing. Copy-pasting each reply into a new note does not pass that test. This setup takes five minutes once, then one click per conversation.

How it works

Markforge is a free Chrome extension that converts the page you are on to Markdown. It has dedicated parsers for ChatGPT, Claude, Gemini and Grok, and it can write its output to any folder you choose on your computer.

A vault is a folder of Markdown files. Point Markforge at a folder inside the vault, and every export lands there as a note. There is no plugin to install in Obsidian and no import step.

Set it up once

  1. Install Markforge from the Chrome Web Store.
  2. In Obsidian, create a folder for the exports, for example AI chats.
  3. Click the Markforge icon, then the gear icon to open the settings.
  4. Under Download Folder, choose the folder you created inside your vault. Chrome asks you to confirm that the extension may write to it.
  5. Under Compatibility, turn on Use Obsidian wikilink syntax for images. Images saved with a note are then embedded as ![[images/file.png]].

From now on, Download .md writes straight into the vault. No "Save As" dialog, no trip through the Downloads folder.

Chrome can ask you to confirm folder access again after a restart. If access is refused or has expired, Markforge falls back to the regular Downloads folder, so a file that seems to have vanished is probably there.

Turn the frontmatter into Obsidian properties

Each export starts with a YAML block. Obsidian reads it as properties, which makes the notes filterable.

The default output for a conversation:

---
title: "Refactoring a date parser"
source: "Claude"
url: "https://claude.ai/chat/your-conversation-id"
description: "Can you help me refactor this date parsing function?"
---

Two settings make this more useful in a vault.

Auto tags. In the Markdown Output section, enter tags separated by commas, for example ai-chat. They are added to the tags property of every export:

tags: ["ai-chat"]

The frontmatter template. It is a plain text template with one line per property. The available variables are {title}, {author}, {date}, {url}, {description}, {site}, {domain} and {tags}. Rename a key, delete a line, or add a fixed line such as status: inbox. Lines whose variable is empty are dropped from the output.

With source filled in on every note, a search for [source:Claude] or a Base filtered on that property gives you every Claude conversation you kept.

Export a conversation

Open the conversation in Chrome, press Alt+M, check the preview, click Download .md. The note appears in your vault folder.

Each assistant has its own quirks, covered in a dedicated guide:

Before saving, use the popup to cut what you do not need. The content field is editable, so you can delete the dead-end turns and keep the exchange that mattered. A two-thousand-word note you trimmed to four hundred is one you will reread.

Name the files so you can find them

The note's filename comes from the Filename Template setting. The default is {title}, the conversation's name in the chat app. Variables available here are {title}, {author}, {date}, {site} and {domain}.

For AI conversations, {site} - {title} works well: it produces names like Claude - Refactoring a date parser, which sort by assistant in the file explorer. Avoid {date} and {author} for chats, since the pages expose neither and both come out empty.

The title is also editable in the popup before each save. Chat apps generate conversation names automatically, and a quick rename at export time beats cleaning up later.

Markforge or Obsidian Web Clipper for AI chats?

Obsidian's official Web Clipper can capture chat pages too, and it is the better tool if you live in its template system. The two extensions work differently:

Markforge Obsidian Web Clipper
Chat support Built-in parsers for ChatGPT, Claude, Gemini, Grok Through templates you write or import per site
How the note reaches the vault Written as a file into a folder you choose Passed to the Obsidian app
Needs the Obsidian app No, any Markdown folder works Yes
Highlights, reader mode, AI interpreter No Yes
Browsers Chrome Chrome, Firefox, Safari, Edge

If you already clip articles with Web Clipper and are happy maintaining a template per chat site, stay with it. If you want chat exports to work without configuration, or you also save to places that are not Obsidian, Markforge is less work.

Limits worth knowing

  • One conversation per click. There is no batch export of your history. For that, use each provider's account export.
  • Tables are flattened. Version 1.0.0 does not rebuild Markdown tables: each cell lands on its own line.
  • No conversation date. The {date} variable is empty on chat pages.
  • Chrome on desktop only. Conversations on your phone need to be opened in a desktop browser first.

Frequently asked questions

Can I save a ChatGPT conversation to Obsidian without copy-pasting?

Yes. Choose a folder inside your vault as Markforge's download folder. Each export is then written directly into the vault as a Markdown file, and Obsidian shows it as a note without any import step.

Does Obsidian need to be open when I export?

No. Markforge writes a file to a folder on your disk. Obsidian picks it up the next time it reads the vault, whether it was running or not.

Which properties does each note get?

By default: title, source (ChatGPT, Claude, Gemini or Grok), url, and description, which holds the start of your first prompt. You can add fixed tags and reorder or remove fields by editing the frontmatter template.

Can the note include the date of the conversation?

Not in version 1.0.0. Chat pages do not expose a date, so the date variable stays empty for conversations and the line is dropped. Obsidian's own file creation date is the practical substitute.

Does this work with Logseq or other Markdown apps?

Yes. The output is a plain Markdown file with YAML frontmatter. Any app that reads a folder of Markdown files can use it. The Obsidian-specific part is optional: a setting that writes image embeds in wikilink syntax.

Related guides