Netcatty
SSH workspace, SFTP, and terminals in one
๐ฅ AI-Powered SSH Client, SFTP Browser & Terminal Manager ๐ netcatty.app The project is written primarily in TypeScript, distributed under the GNU General Public License v3.0 license, first published in 2025. It has gained significant community traction with 2,592 stars and 250 forks on GitHub. Key topics include: electron, electron-app, radix-ui, react, sftp-client.
<img width="2868" height="1784" alt="netcatty SSH (Window) 2026-04-23 11:19 PM" src="https://github.com/user-attachments/assets/d6df734f-9ebc-452a-8b7d-e8a0fdc9463a" />
<a name="catty-agent"></a>
๐ฅ Catty Agent โ Your IT Ops AI Partner
๐ Boost your IT ops daily work with AI power. Catty Agent is the built-in AI assistant that understands your servers, executes commands, and handles complex multi-host operations โ all through natural conversation.
๐ฅ What can Catty Agent do?
- ๐ Natural language server management โ just tell it what you need, no more memorizing commands
- ๐ฅ Real-time server diagnostics โ check status, inspect logs, monitor resources through conversation
- ๐ Multi-host orchestration โ coordinate tasks across multiple servers simultaneously
- ๐ฅ Intelligent context awareness โ understands your server environment and provides tailored responses
- ๐ One-click complex operations โ set up clusters, deploy services, and more with simple instructions
๐ฌ AI in Action
๐ฅ Single Host โ Intelligent Server Diagnostics
Ask Catty Agent to check a server's health, and it runs the right commands, analyzes the output, and gives you a clear summary โ all in seconds.
https://github.com/user-attachments/assets/f819a1b6-8cba-4910-8017-97dfc080b477
๐ Multi-Host โ Docker Swarm Cluster Setup
Watch Catty Agent orchestrate a Docker Swarm cluster across two servers in one conversation. It handles the init, token exchange, and node joining โ you just tell it what you want.
https://github.com/user-attachments/assets/52fd30b8-9f02-43d4-a3b2-142691e8e3ec
Contents <!-- omit in toc -->
- ๐ฅ Catty Agent โ AI Partner
- What is Netcatty
- Why Netcatty
- Features
- Demos
- Screenshots
- Supported Distros
- Getting Started
- Build & Package
- Tech Stack
- Contributing
- Contributors
- Star History
- License
<a name="what-is-netcatty"></a>
What is Netcatty
Netcatty is a modern SSH client and terminal manager for macOS, Windows, and Linux, designed for developers, sysadmins, and DevOps engineers who need to manage multiple remote servers efficiently.
- Netcatty is an alternative to PuTTY, Termius, SecureCRT, and macOS Terminal.app for SSH connections
- Netcatty is a powerful SFTP client with dual-pane file browser
- Netcatty is a terminal workspace with split panes, tabs, and session management
- Netcatty supports SSH, local terminal, Telnet, Mosh, and Serial connections (when available)
- Netcatty is not a shell replacement โ it connects to shells via SSH/Telnet/Mosh or local/serial sessions
<a name="why-netcatty"></a>
Why Netcatty
If you regularly work with a fleet of servers, Netcatty is built for speed and flow:
- Workspace-first โ split panes + tabs + session restore for โalways-onโ workflows
- Vault organization โ grid/list/tree views with fast search and drag-friendly workflows
- Serious SFTP โ built-in editor + drag & drop + smooth file operations
<a name="features"></a>
Features
๐๏ธ Vault
- Multiple views โ grid / list / tree
- Fast search โ locate hosts and groups quickly
๐ฅ๏ธ Terminal Workspaces
- Split panes โ horizontal and vertical splits for multi-tasking
- Session management โ run multiple connections side-by-side
๐ SFTP + Built-in Editor
- File workflows โ drag & drop uploads/downloads
- Edit in place โ built-in editor for quick changes
๐จ Personalization
- Custom themes โ tune the app appearance to your taste
- Keyword highlighting โ customize highlight rules for terminal output
<a name="demos"></a>
Demos
Video previews (stored in screenshots/gifs/), rendered inline on GitHub:
Vault views: grid / list / tree
Switch between different Vault views to match your workflow: overview in grid, dense scanning in list, and hierarchical navigation in tree.
https://github.com/user-attachments/assets/1ff1f3f1-e5ae-40ea-b35a-0e5148c3afeb
Split terminals + session management
Work in multiple sessions at once with split panes. Keep related tasks side-by-side and reduce context switching.
https://github.com/user-attachments/assets/9c24b519-4b4b-4910-a22a-590d04c9af31
SFTP: drag & drop + built-in editor
Move files with drag & drop, then edit quickly using the built-in editor without leaving the app.
https://github.com/user-attachments/assets/f3afdb36-399d-4330-b9f3-4678f178f6db
Drag file upload
Drop files into the app to kick off uploads without hunting through dialogs.
https://github.com/user-attachments/assets/e1e26f7a-3489-41cc-975e-8dccba56ea85
Custom themes
Make Netcatty yours: customize themes and UI appearance.
https://github.com/user-attachments/assets/1a6049aa-9a4c-4d52-a13d-0b007a791b00
Keyword highlighting
Highlight important terminal output so errors, warnings, and key events stand out at a glance.
https://github.com/user-attachments/assets/1a1db7bd-948b-4f3c-97cd-8fd0cbe7cce7
<a name="screenshots"></a>
Screenshots
<a name="main-window"></a>
Main Window
The main window is designed for long-running SSH workflows: quick access to sessions, navigation, and core tools in one place.


<a name="vault-views"></a>
Vault Views
Organize and navigate your hosts using the view that best fits the moment: grid for overview, list for scanning, tree for structure.




<a name="split-terminals"></a>
Split Terminals
Split panes help you monitor multiple servers/services at the same time (deploy + logs + metrics) without juggling windows.

<a name="supported-distros"></a>
Supported Distros
Netcatty automatically detects and displays OS icons for connected hosts:
<p align="center"> <img src="public/distro/ubuntu.svg" width="48" alt="Ubuntu" title="Ubuntu"> <img src="public/distro/debian.svg" width="48" alt="Debian" title="Debian"> <img src="public/distro/centos.svg" width="48" alt="CentOS" title="CentOS"> <img src="public/distro/fedora.svg" width="48" alt="Fedora" title="Fedora"> <img src="public/distro/arch.svg" width="48" alt="Arch Linux" title="Arch Linux"> <img src="public/distro/alpine.svg" width="48" alt="Alpine" title="Alpine"> <img src="public/distro/amazon.svg" width="48" alt="Amazon Linux" title="Amazon Linux"> <img src="public/distro/redhat.svg" width="48" alt="Red Hat" title="Red Hat"> <img src="public/distro/rocky.svg" width="48" alt="Rocky Linux" title="Rocky Linux"> <img src="public/distro/opensuse.svg" width="48" alt="openSUSE" title="openSUSE"> <img src="public/distro/oracle.svg" width="48" alt="Oracle Linux" title="Oracle Linux"> <img src="public/distro/kali.svg" width="48" alt="Kali Linux" title="Kali Linux"> <img src="public/distro/almalinux.svg" width="48" alt="AlmaLinux" title="AlmaLinux"> </p><a name="getting-started"></a>
Getting Started
Download
Download the latest release for your platform from GitHub Releases.
| OS | Support |
|---|---|
| macOS | Universal (x64 / arm64) |
| Windows | x64 / arm64 |
| Linux | x64 / arm64 |
Or browse all releases at GitHub Releases.
macOS Users: Current releases are expected to be code-signed and notarized. If Gatekeeper still warns, make sure you downloaded the latest official build from GitHub Releases.
Prerequisites
- Node.js 18+ and npm
- macOS, Windows 10+, or Linux
Development
bash# Clone the repository git clone https://github.com/binaricat/Netcatty.git cd Netcatty # Install dependencies npm install # Start development mode (Vite + Electron) npm run dev
Project Structure
โโโ App.tsx # Main React application
โโโ components/ # React components
โ โโโ Terminal.tsx # Terminal component
โ โโโ SftpView.tsx # SFTP browser
โ โโโ VaultView.tsx # Host management
โ โโโ KeyManager.tsx # SSH key management
โ โโโ ...
โโโ application/ # State management & i18n
โโโ domain/ # Domain models & logic
โโโ infrastructure/ # Services & adapters
โโโ electron/ # Electron main process
โ โโโ main.cjs # Main entry
โ โโโ bridges/ # IPC bridges
โโโ public/ # Static assets & icons
<a name="build--package"></a>
Build & Package
bash# Build for production npm run build # Package for current platform npm run pack # Package for specific platforms npm run pack:mac # macOS (DMG + ZIP) npm run pack:win # Windows (NSIS installer) npm run pack:linux # Linux (AppImage + DEB + RPM)
<a name="tech-stack"></a>
Tech Stack
| Category | Technology |
|---|---|
| Framework | Electron 40 |
| Frontend | React 19, TypeScript |
| Build Tool | Vite 7 |
| Terminal | xterm.js 5 |
| Styling | Tailwind CSS 4 |
| SSH/SFTP | ssh2, ssh2-sftp-client |
| PTY | node-pty |
| Icons | Lucide React |
<a name="contributing"></a>
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See agents.md for architecture overview and coding conventions.
<a name="contributors"></a>
Contributors
Thanks to all the people who contribute!
<a href="https://github.com/binaricat/Netcatty/graphs/contributors"> <img src="https://contrib.rocks/image?repo=binaricat/Netcatty" /> </a><a name="license"></a>
License
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
<a name="star-history"></a>
Star History
<a href="https://star-history.com/#binaricat/Netcatty&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=binaricat/Netcatty&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=binaricat/Netcatty&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=binaricat/Netcatty&type=Date" /> </picture> </a><p align="center"> Made with โค๏ธ by <a href="https://ko-fi.com/binaricat">binaricat</a> </p>
Contributors
Showing top 12 contributors by commit count.
