{"_id":"@aiguy110/claude-remote","_rev":"4-3c9968185898a369f8206f9651aa64eb","name":"@aiguy110/claude-remote","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@aiguy110/claude-remote","version":"1.0.0","keywords":["claude","claude-code","mcp","ssh","remote","development","tools","ai"],"author":"","license":"MIT","_id":"@aiguy110/claude-remote@1.0.0","maintainers":[{"name":"aiguy110","email":"fencepost13302@gmail.com"}],"homepage":"https://github.com/aiguy110/claude-remote","bugs":{"url":"https://github.com/aiguy110/claude-remote/issues"},"bin":{"claude-remote":"claude-remote"},"dist":{"shasum":"71bb88d0ecb5c4b94dc99616f47999c04c9a418b","tarball":"https://registry.npmjs.org/@aiguy110/claude-remote/-/claude-remote-1.0.0.tgz","fileCount":47,"integrity":"sha512-0bXWZMXE+2zZS/rg49D5HsJ5y6JBLFZFxU+sPk3x2aI15NCqnhNRQuqnIBQyMOtKslOkTbh8AkvmUUP26dDnxg==","signatures":[{"sig":"MEUCIC7RHmCbL/8G65SWZsX0nc0XBHgD83huW6OOw5I5HmEzAiEApHRTFtkuai3tOjQWHVUjwvGw5zO0nND1gtGkrabZ6cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95305},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8f1758e0e77a9095968ef3c1b18250c0bb8e54ae","scripts":{"dev":"tsc --watch","test":"echo \"No tests yet\" && exit 0","build":"tsc","start":"node dist/index.js","postinstall":"node install-completion.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"aiguy110","email":"fencepost13302@gmail.com"},"repository":{"url":"git+https://github.com/aiguy110/claude-remote.git","type":"git"},"_npmVersion":"10.9.3","description":"Remote SSH tools for Claude Code - operate on remote systems seamlessly","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"claude-cli":"*"},"_npmOperationalInternal":{"tmp":"tmp/claude-remote_1.0.0_1755199576831_0.5120983115001279","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aiguy110/claude-remote","version":"1.0.1","keywords":["claude","claude-code","mcp","ssh","remote","development","tools","ai"],"author":"","license":"MIT","_id":"@aiguy110/claude-remote@1.0.1","maintainers":[{"name":"aiguy110","email":"fencepost13302@gmail.com"}],"homepage":"https://github.com/aiguy110/claude-remote","bugs":{"url":"https://github.com/aiguy110/claude-remote/issues"},"bin":{"claude-remote":"claude-remote"},"dist":{"shasum":"2336ada8733073fd6ecc1b550f4b2e4784a33404","tarball":"https://registry.npmjs.org/@aiguy110/claude-remote/-/claude-remote-1.0.1.tgz","fileCount":47,"integrity":"sha512-9Yk6Ts/VyfGgi2H58aKZIEHQ8jKRxVulR6vdfFHEJDy/W7LNEX/fk7s+481IN+rIfsZDoFgZew2oMt/WXSLVRQ==","signatures":[{"sig":"MEUCIGRynmS2lX+vvM5jGuzHIBs5/22bb3j3/bqLBWWEKoMzAiEAqoMh29tKEKeUP11DZ5gXIyI+afB5RgA3MUEne0REUh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95324},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"dfbd7bf941917ee1ed80196da5b3b4642bb10e1a","scripts":{"dev":"tsc --watch","test":"echo \"No tests yet\" && exit 0","build":"tsc","start":"node dist/index.js","postinstall":"node install-completion.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"aiguy110","email":"fencepost13302@gmail.com"},"repository":{"url":"git+https://github.com/aiguy110/claude-remote.git","type":"git"},"_npmVersion":"10.9.3","description":"Remote SSH tools for Claude Code - operate on remote systems seamlessly","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@anthropic-ai/claude-cli":"*"},"_npmOperationalInternal":{"tmp":"tmp/claude-remote_1.0.1_1755200137230_0.5900990633297374","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aiguy110/claude-remote","version":"1.0.2","keywords":["claude","claude-code","mcp","ssh","remote","development","tools","ai"],"author":"","license":"MIT","_id":"@aiguy110/claude-remote@1.0.2","maintainers":[{"name":"aiguy110","email":"fencepost13302@gmail.com"}],"homepage":"https://github.com/aiguy110/claude-remote","bugs":{"url":"https://github.com/aiguy110/claude-remote/issues"},"bin":{"claude-remote":"claude-remote"},"dist":{"shasum":"b9f53d4afedc21110e77900b4ea96e266121e11c","tarball":"https://registry.npmjs.org/@aiguy110/claude-remote/-/claude-remote-1.0.2.tgz","fileCount":47,"integrity":"sha512-PdPx/w7qA+7AL0E4hOpJiG/zubML6thNVL+zU57WFDosaAVsNyVBBD7kEoYKaBQtuP6argjMVNFxETjpgKWPrg==","signatures":[{"sig":"MEUCIQC8hFZE35EyCD3XyaAos12fSbN8dLsLT0bkSxQRwQvHmgIgFepMzWiEsgBel3fuLqxt9Czb/XstwHNtejHlRlBeTuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95325},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6751f700f11b8f4d4871f2907118e9ff03535d82","scripts":{"dev":"tsc --watch","test":"echo \"No tests yet\" && exit 0","build":"tsc","start":"node dist/index.js","postinstall":"node install-completion.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"aiguy110","email":"fencepost13302@gmail.com"},"repository":{"url":"git+https://github.com/aiguy110/claude-remote.git","type":"git"},"_npmVersion":"10.9.3","description":"Remote SSH tools for Claude Code - operate on remote systems seamlessly","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"@anthropic-ai/claude-code":"*"},"_npmOperationalInternal":{"tmp":"tmp/claude-remote_1.0.2_1755200291272_0.7101517403189943","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aiguy110/claude-remote","version":"1.0.3","description":"Remote SSH tools for Claude Code - operate on remote systems seamlessly","main":"dist/index.js","type":"module","scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch","prepublishOnly":"npm run build","test":"echo \"No tests yet\" && exit 0","postinstall":"node install-completion.js"},"bin":{"claude-remote":"claude-remote"},"engines":{"node":">=18.0.0"},"peerDependencies":{"@anthropic-ai/claude-code":"*"},"dependencies":{"@modelcontextprotocol/sdk":"^0.5.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.0.0"},"keywords":["claude","claude-code","mcp","ssh","remote","development","tools","ai"],"author":"","license":"MIT","homepage":"https://github.com/aiguy110/claude-remote","repository":{"type":"git","url":"git+https://github.com/aiguy110/claude-remote.git"},"bugs":{"url":"https://github.com/aiguy110/claude-remote/issues"},"_id":"@aiguy110/claude-remote@1.0.3","gitHead":"a99f5aba81bd98738c37c08d4f1fa256eaa6ccdd","types":"./dist/index.d.ts","_nodeVersion":"24.3.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-R11GOZ5Ur6Fuz4xpC6msNFfTAw0yDvuwYRwlosIXwPlz0tTCACGTHhG1pLEMV3cO7x+m3PucjHaZI1YI6tBwPw==","shasum":"658991739c928aec614f515e45a85405790e9cf4","tarball":"https://registry.npmjs.org/@aiguy110/claude-remote/-/claude-remote-1.0.3.tgz","fileCount":47,"unpackedSize":95586,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDgd7hDPpPVoDOTWTpx+imfQGmvPMNjoOumoA60FpfzEwIhAI9eo5dmA058qPss3u+GJ6AtEGRQjwhHCk9PJkigh8Jg"}]},"_npmUser":{"name":"aiguy110","email":"fencepost13302@gmail.com"},"directories":{},"maintainers":[{"name":"aiguy110","email":"fencepost13302@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-remote_1.0.3_1755201219051_0.5937055022701412"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-14T19:26:16.673Z","modified":"2025-08-14T19:53:39.410Z","1.0.0":"2025-08-14T19:26:17.042Z","1.0.1":"2025-08-14T19:35:37.398Z","1.0.2":"2025-08-14T19:38:11.473Z","1.0.3":"2025-08-14T19:53:39.221Z"},"bugs":{"url":"https://github.com/aiguy110/claude-remote/issues"},"license":"MIT","homepage":"https://github.com/aiguy110/claude-remote","keywords":["claude","claude-code","mcp","ssh","remote","development","tools","ai"],"repository":{"type":"git","url":"git+https://github.com/aiguy110/claude-remote.git"},"description":"Remote SSH tools for Claude Code - operate on remote systems seamlessly","maintainers":[{"name":"aiguy110","email":"fencepost13302@gmail.com"}],"readme":"# Claude Remote Tools\n\n🚀 **Operate on remote systems seamlessly with Claude Code via SSH**\n\nAn npm package that provides remote versions of Claude Code tools, allowing you to develop, debug, and manage code on remote servers as if they were local.\n\n## ✨ Features\n\n- **Seamless Remote Development** - Use Claude Code on remote systems via SSH\n- **All Claude Tools Available** - BashRemote, ReadRemote, WriteRemote, EditRemote, etc.\n- **SSH Key Integration** - Works with your existing `~/.ssh/config` and ssh-agent\n- **Zero Configuration** - Automatically disables local tools and enables remote ones\n- **Secure** - Uses standard SSH protocols with proper escaping\n\n## 📦 Installation\n\n```bash\nnpm install -g @aiguy110/claude-remote\n```\n\n**Shell completion is automatically installed!** 🎉\n\nThe package automatically installs bash and zsh completions during installation. After installing, restart your terminal or run:\n\n```bash\n# For bash users:\nsource ~/.bashrc\n\n# For zsh users:  \nsource ~/.zshrc\n```\n\nThe completion provides:\n- SSH host completion from `~/.ssh/config` \n- Claude CLI argument completion after the target\n- Common remote path suggestions\n\n## 🚀 Quick Start\n\n1. **Ensure SSH access** to your remote system:\n   ```bash\n   # Test SSH connection\n   ssh myserver\n   ```\n\n2. **Use claude-remote** instead of `claude`:\n   ```bash\n   # Instead of: claude\n   claude-remote myserver:/path/to/project\n\n   # Pass any claude arguments\n   claude-remote myserver:/path/to/project --resume\n   claude-remote myserver:/path/to/project -p \"help me debug this code\"\n   ```\n\n3. **Claude now operates remotely** - all file operations, commands, and tools work on the remote system!\n\n## 🔧 Prerequisites\n\n- **Node.js 18+** \n- **Claude CLI** installed (`npm install -g claude-cli`)\n- **SSH access** to target systems with **key-based authentication**\n- **SSH configuration** in `~/.ssh/config`\n- **ripgrep** (`rg`) on remote systems (for search functionality)\n\n> **Note:** Password authentication is not currently supported. You must use SSH key-based authentication.\n\n## ⚙️ SSH Configuration\n\nEnsure your `~/.ssh/config` has entries for your servers with SSH key authentication:\n\n```\nHost myserver\n    HostName example.com\n    User myuser\n    IdentityFile ~/.ssh/id_rsa\n    \nHost production\n    HostName prod.example.com\n    User deploy\n    Port 2222\n    IdentityFile ~/.ssh/id_ed25519\n```\n\n**Important:** Only SSH key authentication is supported. Ensure your public key is installed on the remote system (`~/.ssh/authorized_keys`) and that you can connect without entering a password.\n\n## 📖 Usage Examples\n\n```bash\n# Work on a project\nclaude-remote myserver:/var/www/myapp\n\n# Resume a conversation\nclaude-remote myserver:/home/user/code --resume\n\n# One-shot command\nclaude-remote production:/opt/service \"check the logs for errors\"\n```\n\n## 🛠️ Available Tools\n\nWhen using `claude-remote`, Claude has access to these remote tools:\n\n- **BashRemote** - Execute commands on remote system\n- **ReadRemote** - Read files from remote filesystem  \n- **WriteRemote** - Write files to remote filesystem\n- **EditRemote** - Edit remote files with exact string replacement\n- **MultiEditRemote** - Make multiple edits in one operation\n- **LSRemote** - List remote directories\n- **GlobRemote** - Find files by pattern on remote system\n- **GrepRemote** - Search file contents using ripgrep\n\n## 🔒 Security\n\n- Uses your existing SSH keys and agent\n- Respects SSH configuration and security settings\n- All commands are properly escaped\n- No credentials stored or transmitted\n- Local tools are disabled when operating remotely\n\n### Permission Management\n\nFor security, `claude-remote` automatically removes any previously allowed Remote tool permissions before launching Claude. This prevents permission confusion where users might grant tool permissions in a local directory thinking they apply to the remote directory, only to have those permissions unexpectedly carry over to different SSH targets from the same local directory.\n\n**Important:** This means that Remote tools cannot be permanently allowed for specific remote directories - you will need to grant permissions each time you use `claude-remote`. This is a necessary security trade-off to prevent unauthorized access to different remote systems.\n\n## 🐛 Troubleshooting\n\n**SSH Connection Issues:**\n```bash\n# Test connectivity\nssh -o ConnectTimeout=5 myserver true\n\n# Check SSH config\nssh -F ~/.ssh/config myserver\n```\n\n**Missing ripgrep:**\n```bash\n# Install on remote system\nssh myserver 'sudo apt install ripgrep'  # Ubuntu/Debian\nssh myserver 'brew install ripgrep'      # macOS\n```\n\n## 🤝 Contributing\n\nContributions welcome! Please read our contributing guidelines and submit PRs.\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🔗 Links\n\n- [Claude Code Documentation](https://docs.anthropic.com/claude/docs)\n- [Report Issues](https://github.com/aiguy110/claude-remote/issues)\n- [npm Package](https://www.npmjs.com/package/@aiguy110/claude-remote)\n","readmeFilename":"README.md"}