anthropics / anthropics/claude-code

[Feature] VS Code: a plain "Resend this message" (same text and attachments) in the per-message menu

Open
#95,573 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:ide enhancement platform:vscode
Dominant language
TypeScript
Stars
147k
Forks
24k
PR merge metrics
PR metrics pending

Description

Preflight Checklist
  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)
Problem Statement

In the VS Code extension, a message I already sent has no way to be sent again as it was. The per-message menu offers Fork conversation from here, Rewind code to here and Fork conversation and rewind code, and every one of them changes something (a new conversation, or the files on disk). There is no plain "send this message again".

The workaround, pressing the up arrow to recall the message into the input box, brings back the text only. Attachments (pasted images, attached files) are not restored, so the message has to be rebuilt by hand: find the file again and attach it again.

This bites hardest when the message never actually went through. A UserPromptSubmit hook that returns decision: "block" stops the prompt from being sent and shows its reason; the message stays visible in the transcript but was never answered. The natural next move is "fine, send it again", and that is exactly when the attachment is missing from the recalled text.

Seen on the VS Code extension 2.1.276 (Linux, Remote-WSL): the per-message menu has exactly those three entries, and up-arrow recall of a message that carried an attachment returned the text without it.

Proposed Solution

Add a fourth entry to the per-message menu: Resend this message. It submits the same user turn again in the current conversation, with the same text and the same attachments, changing nothing else: no fork, no rewind.

Suggested behaviour:

  1. Available on any of my own past messages, not only the last one.
  2. Sends immediately, or, if it is safer, puts the complete message (text and attachments) back into the input box for one more Enter. Either satisfies the request; the second is the more conservative default.
  3. When a UserPromptSubmit hook blocked the message, keep it recallable in the same way, so that it can be resent as-is, which is what a blocking hook's own message often tells the user to do ("send it again to override").
  4. Separately, and smaller: make up-arrow recall restore attachments too, so the keyboard route and the menu route agree.
Alternative Solutions
  • Fork conversation from here: creates a second conversation to answer one message; wrong tool for "again".
  • Rewind code to here: also reverts files, which is destructive and not wanted when nothing went wrong on disk.
  • Up arrow, then re-attach by hand: what I do today; loses the attachment order and slows down exactly the moments when the send just failed.
  • Copy the text out and paste it: same loss of attachments.
Priority

Medium - Would be very helpful

Feature Category

Other

Use Case Example
  1. I attach a screenshot and type a question.
  2. A hook blocks the prompt (or I interrupt it before it is answered).
  3. Today: press up, get the text back, hunt for the screenshot, attach it again, send.
  4. With this: open the menu on that message, choose Resend this message, done.
Additional Context

Related but different: #14651 (closed as inactive) is about the terminal UI, where the up arrow moves focus to a pasted image instead of recalling history. This request is about the VS Code extension's per-message menu and about attachments surviving a resend.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the VS Code extension's per-message menu and the up-arrow message recall flow, then trace how message attachments are retained and submitted. Verify the behavior with a blocked UserPromptSubmit hook and an interrupted message: resend should preserve the original text and attachments without forking or rewinding, and recall should restore attachments too.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.