@haphazarddev/pi-copy-code-block
A pi extension that copies code blocks from the latest assistant message to the clipboard.
Package details
Install @haphazarddev/pi-copy-code-block from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@haphazarddev/pi-copy-code-block- Package
@haphazarddev/pi-copy-code-block- Version
0.1.0- Published
- Apr 20, 2026
- Downloads
- 82/mo · 16/wk
- Author
- corwinm
- License
- MIT
- Types
- extension
- Size
- 16.7 KB
- Dependencies
- 1 dependency · 3 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@haphazarddev/pi-copy-code-block
Copy a code block from the latest assistant message straight to your clipboard.
Install
pi install npm:@haphazarddev/pi-copy-code-block
Or install from a local checkout:
pi install ./extensions/pi-copy-code-block
Usage
The extension registers:
/copy-codeCtrl+Alt+C
Behavior:
- if the latest assistant message has one code block, it copies immediately
- if it has multiple code blocks, it opens a small picker with a preview of the code being copied
- when code blocks are available, it shows a footer hint like
⎘ 1 code block • Ctrl+Alt+C to copyor⎘ 3 code blocks • /copy-code • Ctrl+Alt+C
You can also target or format blocks directly:
/copy-code 2
/copy-code first
/copy-code last
/copy-code all
/copy-code fenced 2
/copy-code fenced all
Short aliases are supported too:
/copy-code f
/copy-code l
Notes
- The extension scans the most recent completed assistant messages until it finds code blocks.
- By default it copies the inner code from fenced code blocks, not the surrounding triple backticks.
fencedpreserves the markdown fences and language when copying.allcopies all code blocks in latest-to-oldest order, joined by a configurable separator.- Code blocks are ordered latest to oldest, so the most recently visible block on screen is
1. - Multi-line previews in the picker show
⏎ …to indicate the copied block continues beyond the first line. - The picker supports
1-9, arrow keys, Enter, and Escape.
Config
The extension has a tiny config section at the top of index.ts:
showStatusHintstatusIconshortcutpreviewWidthcopyAllSeparatormaxAssistantMessagesToScan
That makes it easy to disable the footer hint entirely, tune the icon and keyboard shortcut, adjust preview truncation, control how /copy-code all joins blocks, and change how far back the fallback search looks.