[FEATURE] VSCode extension: Copy chat response as markdown source

Open 💬 8 comments Opened Apr 29, 2026 by Matt-Ebury

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

In the Claude Code VSCode native extension, selecting text in the chat panel and pressing Cmd+C / Ctrl+C copies only the rendered visible text. All markdown formatting is lost — code fences, bullets, headings, bold/italic, links, file-path hyperlinks, tables, etc. all collapse into plain prose.

Unlike the terminal CLI, the VSCode extension does not expose the /copy slash command (running it returns copy isn't available in this environment), and there's no context-menu item, toolbar button, or setting to copy the raw markdown instead.

This is distinct from existing request #48489, which targets the Windows desktop app and whose workaround is presumably /copy in the CLI. In the VSCode extension there is no equivalent escape hatch — the chat panel is the only surface and it strips formatting unconditionally. #12413 (closed as duplicate) covered the same VSCode-specific concern but never received a targeted resolution.

Proposed Solution

Any one of the following would solve it, in order of preference:

  1. Context-menu action on assistant messages: Right-click an assistant message (or a selection within it) → "Copy as markdown" → raw markdown source goes to the clipboard.
  2. Per-message copy button: A small copy icon on hover over each assistant message that copies the raw markdown of that message.
  3. Setting: claudeCode.copyRawMarkdown: true that makes the existing Cmd+C on a selection return markdown source instead of rendered text.
  4. Keybinding: A distinct shortcut such as Cmd+Shift+C that performs "copy as markdown" alongside the default plain-text copy.

Option 2 matches the pattern used by most LLM chat UIs (ChatGPT, Claude.ai web) and is the most discoverable.

Alternative Solutions

Current workarounds, all unsatisfying:

  • Ask Claude to wrap the response in a fenced code block so the raw markdown is visible — adds turns, wastes tokens, and is forgotten between conversations.
  • Open the VSCode integrated terminal, run claude, and use /copy there — requires switching surfaces and loses the context of the ongoing VSCode-extension session.
  • Manually re-type markdown when pasting into PR descriptions, GitHub issues, or docs.
  • Switch chat mode from 'CLAUDE CODE' to 'CHAT' (VSCode's built-in): This still lists Claude chat sessions in it's session list and provides superior C&P functionality. Both Copy and Copy Final Response include markdown. This is the best workaround I've identified, but it is still a faff.

Priority

High - Significant impact on productivity

Feature Category

Other

Use Case Example

  1. I ask Claude Code (in the VSCode extension) to summarize a bug investigation, and it replies with a nicely-formatted response containing headings, bullet lists, inline code, fenced code blocks, and [filename.ts:42](path#L42) links.
  2. I want to paste that summary into a GitHub PR description, a Linear ticket, or a Slack message with markdown mode enabled.
  3. Today: I select the text, Cmd+C, paste — and get a wall of plain prose. Headings gone, code blocks gone, links gone, file-path hyperlinks gone. I have to either manually reformat or ask Claude to regenerate as a fenced block (wasting context and tokens).
  4. With this feature: I click "Copy as markdown" on the message, paste into the PR — and the formatting is preserved end-to-end.

Additional Context

  • Environment: Claude Code VSCode native extension.
  • The terminal CLI already supports this via /copy <N>; the VSCode extension does not expose that command.
  • Related: #48489 (desktop app, Windows), #12413 (closed as duplicate without resolution), #5512 (CLI /copy — already shipped in the CLI).

View original on GitHub ↗

This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗