Copy the latest agent, user, or user-agent exchange from your current OpenCode session directly to the clipboard.
Important
Check OpenCode's built-in options before installing this plugin: Copy last assistant message copies the latest assistant response, while Copy session transcript copies the entire conversation. If either option covers your needs, you do not need this plugin. Use this plugin when you want command-based selection of user messages, multiple assistant messages, or complete user-assistant pairs.
@jfrz38/opencode-copy-last is a small OpenCode plugin for quickly reusing recent conversation context without selecting text manually.
It helps when you want to:
- Paste the last agent answer into an issue, PR, note, or chat.
- Copy your latest prompt exactly as you wrote it.
- Export recent user-agent exchanges as clean Markdown.
- Keep useful context before restarting OpenCode, switching branches, or moving to another tool.
Install via CLI:
opencode plugin @jfrz38/opencode-copy-last@latest --global Or add the plugin to your OpenCode configuration:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@jfrz38/opencode-copy-last"]
}Restart OpenCode after changing plugin configuration.
/copy-last [agent|user|pair] [count|all]
By default, it copies the latest agent message:
/copy-last
Copy the latest agent response:
/copy-last
Copy the latest two agent responses:
/copy-last agent 2
Copy your latest prompt:
/copy-last user
Copy the latest three user-agent exchanges:
/copy-last pair 3
Copy all complete user-agent exchanges:
/copy-last pair all
Use shorter aliases when you prefer:
/copy-last me
/copy-last us 2
agent: copies the latest assistant/agent messages.user: copies the latest user messages.pair: copies complete user-agent exchanges.me: alias foruser.us: alias forpair.
you is intentionally unsupported because it is ambiguous.
count: copies the latest matching messages or pairs, from1to20.all: copies every matching message or complete pair for the selected target.
Single messages are copied as trimmed Markdown content.
Pairs are copied like this:
## User
Your prompt here
## Agent
The agent response hereMultiple copied items are separated with a Markdown horizontal rule:
---The plugin registers the /copy-last command with OpenCode and intercepts it before it reaches the LLM. It reads the current session, selects the requested messages, formats them as Markdown, copies the result to the clipboard, and shows a toast.
Because the command is handled locally by the plugin, running /copy-last does not send a new prompt to the model.
For pair, the plugin uses the last visible agent response before the next user message. This avoids copying an intermediate response produced while tools or subagents are still running. Reasoning, tool output, synthetic text, ignored text, and child-session messages are not included.
OpenCode already provides Copy last assistant message for copying the latest assistant response and Copy session transcript for copying the entire conversation. These are built-in features and require no plugin.
This plugin is useful when you want command-based selection of recent assistant messages, user prompts, or complete user-assistant pairs; a count such as the last two responses; all; or normalized Markdown output ready to paste elsewhere.
