anomalyco / anomalyco/opencode

[FEATURE]: Expose messages.copy through the slash-command surface

Open
#46,220 1 comment 0 reactions 1 assignee View on GitHub

@kommander is already working on this.

Since Aug 30, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Feature hasn't been suggested before.
  • I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request

The TUI currently has two copy actions:

  • messages.copy copies the last assistant message and is available through <leader>y / the command palette.
  • session.copy copies the full session transcript and owns /copy.

I found this a little surprising. I first tried /copy expecting the latest assistant response, and only later found Copy last assistant message in the palette.

It also seems inconsistent with several other TUI actions, where the keybind and slash-command surfaces map to the same operation:

/compact  <-> Ctrl+X C
/editor   <-> Ctrl+X E
/export   <-> Ctrl+X X
/models   <-> Ctrl+X M
/new      <-> Ctrl+X N
/undo     <-> Ctrl+X U

???       <-> Ctrl+X Y  (Copy last assistant message)
/copy     <->           (Copy session transcript)

Was keeping /copy mapped to the full transcript while messages.copy has no slash command an intentional UX decision?

There are a few possible directions:

  • expose the existing action as /copy-message or /copy-last
  • make /copy copy the latest response and move the transcript action to /copy-session
  • use a picker / indexed form for older responses

Related approaches have already been proposed in #30548 (message picker) and #34044 (/copy N). This issue is narrower: I'd first like to clarify what the intended slash-command mapping for the already-existing messages.copy action should be.

Related: #26240, #27967, #30562.

I'm happy to implement whichever direction the team prefers once the command semantics are agreed on.

Contributor guide

Open the contributing guide

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.