ClipBridge SSH
An improved version based on Claudeboard
Upload clipboard images to remote servers via Remote-SSH and get shareable file paths. Designed for seamless remote development workflows.
中文文档
📜 Original Source
This project is forked from Claudeboard, developed by dkodr.
Improvements made in this version:
- ✅ Fixed notification suppression not working
- ✅ Progress indicator moved to status bar (no popup interruptions)
- ✅ Added quote style configuration (none/single/double)
- ✅ Added path slash style configuration (forward/backward)
- ✅ Added simulated real paste mode (Bracketed Paste support)
- ✅ Added clear clipboard after upload option
✨ Features
Core Features
- 🖼️ One-click clipboard upload - Press
Ctrl+Alt+V to upload
- 🌍 Cross-platform support - Windows, Linux, macOS
- 🔗 Smart path insertion - Automatically paste file paths in editor or terminal
- 🌐 Remote-SSH integration - Seamless connection to remote servers
- 🔐 Secure design - Uses existing SSH connections, no extra authentication
Configurable Features
- 🧹 Auto cleanup - Set retention days (0-365, 0=never delete)
- ⌨️ Custom keybinding - Multiple shortcut options
- 📝 Quote style - None, single quotes, or double quotes
- 🔀 Path slashes - Forward slashes (
/) or backward slashes (\)
- 📋 Simulated paste - Bracketed Paste mode for terminal compatibility
- 🧽 Clear clipboard - Auto-clear clipboard after upload
- 🔕 Notification control - Can suppress all notification popups
🚀 Quick Start
Prerequisites
- Install VS Code Remote-SSH extension
- Connect to a remote server
- Open a workspace folder on the remote server
Usage
- Copy an image to clipboard (screenshot, file copy, web image, etc.)
- Press
Ctrl+Alt+V in VS Code
- Image uploads automatically, path is pasted at cursor position
- Done! Image is accessible via the inserted path
🌐 Upload Location
Remote Server
- Location:
.clipbridge-images/ in workspace root
- Auto cleanup: Images older than retention days are automatically deleted
- Git ignored: Automatically creates
.gitignore to exclude images
- Return path: Full file path, e.g.,
/workspace/.clipbridge-images/image_1234567890.png
⚙️ Configuration
Search for "imageUploader" in File > Preferences > Settings:
| Setting |
Description |
Default |
keybinding |
Keyboard shortcut |
ctrl+alt+v |
retentionDays |
Image retention days (0=never delete) |
30 |
clearClipboardAfterUpload |
Clear clipboard after upload |
false |
quoteStyle |
Quote style (none/single/double) |
none |
useForwardSlashes |
Use forward slashes |
true |
simulateRealPaste |
Simulate real paste mode |
false |
showNotification |
Show notifications |
true |
Keybinding Options
Ctrl+Alt+V - Default
Ctrl+Shift+V
Alt+V
Ctrl+V (may conflict with normal paste)
F12
Quote Style
none - No quotes: /path/to/image.png
single - Single quotes: '/path/to/image.png'
double - Double quotes: "/path/to/image.png"
Simulated Real Paste
Enables Bracketed Paste protocol to solve paste issues in certain terminals (e.g., zsh with bracketed-paste-magic).
📋 Requirements
- VS Code 1.74.0 or higher
- Remote-SSH extension
- Active remote connection
- Workspace folder on remote server
| Platform |
Clipboard Support |
Dependencies |
| Windows |
✅ PowerShell |
No extra installation |
| macOS |
✅ pbpaste + AppleScript |
No extra installation |
| Linux (X11) |
✅ xclip |
Install xclip |
| Linux (Wayland) |
✅ wl-clipboard |
Install wl-clipboard |
Linux dependencies:
# X11
sudo apt install xclip
# Wayland
sudo apt install wl-clipboard
| Platform |
Supported Formats |
| Windows |
PNG only |
| Linux |
PNG only |
| macOS |
PNG, TIFF, JPEG (auto-converts to PNG) |
⌨️ Keyboard Shortcuts
| Shortcut |
Function |
Context |
Ctrl+Alt+V |
Upload clipboard image |
Editor & Terminal |
Ctrl+V |
Normal paste (unaffected) |
Editor & Terminal |
📦 Installation
From VSIX File
- Download the
.vsix file
- Press
Ctrl+Shift+P in VS Code
- Type "Extensions: Install from VSIX"
- Select the downloaded file
Build Locally
npm install
npm run package
code --install-extension *.vsix
🐛 Troubleshooting
| Issue |
Solution |
| "No remote connection detected" |
Connect via Remote-SSH extension |
| "No workspace folder available" |
Open folder on remote server |
| Image not detected |
Ensure image is copied to clipboard |
| PowerShell error |
Check PowerShell availability and ExecutionPolicy |
| Upload timeout |
Check Remote-SSH connection stability |
| Paste error |
Ensure cursor is in editor or terminal |
| File permission error |
Check write permissions in workspace directory |
| Notifications still showing |
Set showNotification: false |
📁 File Structure
workspace/
├── .clipbridge-images/
│ ├── .gitignore # Auto-created
│ ├── image_1234567890.png
│ └── image_1234567891.png
└── your-project-files/
🛠️ Development
# Clone repository
git clone https://github.com/starphantom666/-remote-terminal-image-paste.git
# Install dependencies
npm install
# Compile
npm run compile
# Watch mode
npm run watch
# Package
npm run package
Architecture
- TypeScript strict mode
- Service architecture: ClipboardService, FileManagerService, ProgressService, ConfigurationService
- Cross-platform abstractions: Platform-specific clipboard implementations
- Result<T,E> pattern: Type-safe error handling
- RAII pattern: Automatic resource cleanup
📄 License
MIT License
🔗 Links
Improved version based on Claudeboard, optimized for general remote development workflows