Requirements and compatibility
What ShellCanvas needs on your computer, what it needs on the machine you connect to, and which combinations have actually been tested.
Availability
The desktop is released for Windows x64, Linux x86_64, and macOS on Intel or Apple silicon as a public preview. Linux and macOS packages and native app-frame probes are available, but real SSH workflows on those clients still need broader testing. Everything below separates what the code supports from what has been tested against a real system, because only the second is a support claim.
Interface
Your computer
| Requirement | Detail |
|---|---|
| Operating system | Windows x64, Linux x86_64, or macOS on Intel or Apple silicon. |
| Runtime | Microsoft Edge WebView2 on Windows (included with Windows 11); platform webview dependencies on Linux and macOS. |
| Rights | The .exe installer installs per user and needs no administrator rights. |
| Network | Outbound access to your server's SSH port. No inbound ports, and no ShellCanvas service of any kind. |
| Optional | WinFsp (Windows), FUSE (Linux) or macFUSE (macOS), only if you attach a remote folder as a local drive. Installing WinFsp needs administrator rights. |
The machine you connect to
| Requirement | Needed for | Notes |
|---|---|---|
| An SSH server | Everything | The one already installed. ShellCanvas never installs software remotely. |
| The SFTP subsystem | Full Files, Editor, transfers, local drives | Provided by OpenSSH. Without it, compatible Linux shells may provide limited browsing and individual-file transfers; some RouterOS hosts provide read-only folder browsing. |
[email protected] | Atomic replacement of an existing file | OpenSSH supports it. A server without it can offer non-atomic replacement only after a warning and explicit approval for that save. |
| A shell account | Terminals | Your own permissions apply, including root if that is the account you use. |
| systemd, and root | Changing the host name or timezone from Host details | Read-only inspection works without root; applying a change is offered only to UID 0. |
udisksctl (Linux) or diskutil (macOS) | Mounting drives on the remote machine from Files | Discovery works without them; the mount and unmount actions do not appear if the tool is missing. |
Authentication
Private key files, with or without a passphrase, and password authentication. Not supported: SSH agents, hardware keys, host certificates, keyboard-interactive flows beyond a single password, and ProxyCommand or ProxyJump chains.
Tested combinations
| Side | Status |
|---|---|
| Windows client | Released EXE/MSI installers; broadest hands-on validation, though installers are not code-signed. |
| macOS client | Intel and Apple silicon DMGs released. Native app-frame isolation probe passed on Apple silicon; live SSH and installed-app workflows need broader validation. Builds are not notarized. |
| Linux client | AppImage, DEB and RPM packages released for x86_64. Native app-frame isolation probe passed; live SSH and installed-app workflows need broader validation. |
| Ubuntu server | Verified: browsing, editing, transfers, terminals and permission failures, on an authorised test host. |
| Other Linux distributions | Same SSH and SFTP code path, not tested. |
| macOS server | Browsing files and a live shell confirmed from the Windows client. Writes and transfers not validated. |
| Windows OpenSSH server | File browsing exercised manually on Windows Server 2019; broader coverage pending. |
| Network appliances | Generic SSH handling only, with no device-specific provider. |
Development
Node.js 22 or newer, Rust 1.93 or newer, and the Tauri prerequisites. The published app SDK requires Node.js 20 or newer.
Examples
Check that a server has what ShellCanvas needs before adding it:
# A shell account on an SSH server: this must print your user name.
ssh [email protected] 'id -un'
# The SFTP subsystem: this must list your home directory.
echo 'ls' | sftp [email protected]
# Optional, for remote host settings: systemd present, and whether you are root.
ssh [email protected] 'command -v hostnamectl; id -u'If the first command works and the second does not, terminals remain available. ShellCanvas probes for a limited file fallback; compatible Linux shells can browse and transfer individual files, while some RouterOS hosts can browse folders read-only. The available actions are shown after connection.
Errors
| What you see | What it means |
|---|---|
| An unknown-publisher warning during installation | Preview installers are not code-signed. Verify the download against SHA256SUMS.txt from the release. |
| A blank window at startup | The WebView2 runtime is missing or blocked. Install it and start ShellCanvas again. |
| Files reports an unavailable service while the terminal works | SFTP and the available limited fallback probes both failed, or the account cannot run the required commands. |
| Saving an existing file warns about a partial write | The SFTP server lacks atomic rename. Keep editing preserves the draft; Save anyway permits one non-atomic attempt. |
| Remote settings show a read-only reason | The account is not root, or systemd is not present. |
Lifecycle and permissions
ShellCanvas holds one SSH connection per workspace and opens additional channels on it for shells and file work. It stores saved hosts, trusted host keys, preferences and installed apps under your user profile on your own computer, and never stores passwords or key passphrases. On the server it creates nothing outside the files you explicitly write, and it removes its temporary file when a save completes or fails.
Related guides
- Installation and builds — install or build the desktop.
- Your first connection — add your first host.
- Compatibility and known limitations — numeric limits and current gaps.
- Providers and device detection — how ShellCanvas decides what a system supports.