Support
Terminalia support: common questions and issues
The most frequent questions, grouped by topic. If yours isn’t here, below you’ll find how to diagnose problems and how to reach us.
Installation
macOS says it can’t open the app
Terminalia isn’t notarized by Apple yet, so macOS blocks it the first time. Close the warning without choosing “Move to Trash”, go to System Settings › Privacy & Security, scroll down to Security and click “Open Anyway”. You only need to do this once. On macOS 15 or later, right-click › Open no longer works. Alternative from Terminal: xattr -dr com.apple.quarantine /Applications/Terminalia.app
Does it work on an Intel Mac?
Yes. The DMG contains a universal binary: the same file works on Apple Silicon and Intel.
I’m on macOS 13. Can I use it?
No. Terminalia requires macOS 14 or later because of the SwiftUI APIs it uses. There’s no version for older systems.
How do I uninstall Terminalia?
Quit the app and drag Terminalia from Applications to the Trash. To leave no trace, also delete ~/Library/Application Support/Terminalia/ (profiles, settings, sockets and the Keychain helper) and ~/Library/Caches/Terminalia/. Saved passphrases can be removed in Keychain Access by searching for com.aacdev.Terminalia, or by deleting the profiles from the app first. Your ~/.ssh is left untouched.
Connections and keys
My key has a passphrase
Enter it once in the profile and it’s stored in the macOS Keychain. When you connect, the app hands it to ssh automatically. The first time, macOS may ask for permission for the helper (a small Terminalia script that reads the passphrase from the Keychain) to access the Keychain: choose “Always Allow”.
Does it support ProxyJump or a bastion host?
Yes. When you import from ~/.ssh/config, the jump host is kept as the profile’s ProxyJump option. Since the app uses the system OpenSSH, any alias that works in your terminal works here.
“Connection closed by UNKNOWN port 65535”
It shows up on connections through a jump host: the bastion accepts you, but the final host closes the session right after accepting your key. It’s not a problem with the app or the key: the final host is rejecting your user. Common cause: the account is temporarily locked after failed password attempts (on macOS, opendirectoryd does this for a few hours). Check with ssh -v from the terminal: if it fails the same way, wait or unlock the account on that machine.
Does it work with ed25519, ECDSA and RSA keys?
Yes. The connection is made by your Mac’s OpenSSH, so any key that works in your terminal works here: ed25519, ECDSA or RSA, with or without a passphrase. With old RSA keys that only sign with ssh-rsa (SHA-1), some servers reject native SFTP; in that case the file browser switches to compatibility mode on its own and keeps working.
Can I connect with a password instead of a key?
No. Terminalia authenticates with SSH keys only and never stores or asks for server passwords. If your server only accepts passwords, create a key with ssh-keygen -t ed25519 and copy it with ssh-copy-id user@host: it’s more secure and you only set it up once.
Can I connect to several servers at once?
Yes. Each profile opens its own master connection, with its own tunnels, file browser and processes, and you can have several open at the same time. When you quit, the app warns you if sessions are still open.
Usage and performance
Does it use resources in the background?
No. Terminalia quits when you close its last window and, on quit, closes the master connections: it leaves no ssh processes or agents running in the background. While it’s open, the only periodic work is refreshing process CPU and memory, at an interval you can change in Settings.
Does the editor work offline?
The first time you open a file, the editor is downloaded from cdn.jsdelivr.net. Without an internet connection the editor won’t start, but the rest of the app (file browser, tunnels, processes, logs and terminal) works normally. Bundling it into the app is planned.
How do I find out about new versions?
Processes
It says pm2 isn’t installed, but it is
This usually happens when pm2 lives in nvm or Homebrew and the PATH is only loaded in your interactive shell. The app runs commands in your real login shell and adds the usual nvm and Homebrew paths, so on most servers it works without changing anything. If it still can’t find it, the panel shows the shell and PATH it used; add source ~/.nvm/nvm.sh to ~/.zprofile on the server.
Docker: “permission denied”
Your SSH user doesn’t have access to the Docker socket. On the server, run sudo usermod -aG docker $USER, log out and reconnect. The app never runs sudo for you.
Security and data
Does the app run sudo?
No. Everything runs with the permissions of the profile’s SSH user. It never asks for or stores admin passwords. If you need elevated privileges for something, you do it yourself from the built-in terminal.
What’s stored, and where?
Profiles and settings in ~/Library/Application Support/Terminalia/ (profiles.json, settings.json). Key passphrases in the macOS Keychain under the service com.aacdev.Terminalia. Files you open in the editor are cached in ~/Library/Caches/Terminalia/. Nothing else. Deleting a profile removes its entry and its passphrase; it never touches ~/.ssh.
Does it modify my ~/.ssh/config or my keys?
No. Importing only reads ~/.ssh/config, and Terminalia never modifies your keys or that file. The only thing that can change in ~/.ssh is known_hosts: the first time you connect to a new server, OpenSSH adds its fingerprint, exactly as when you connect from the terminal (accept-new mode). Profiles are stored separately, in ~/Library/Application Support/Terminalia/.
Does Terminalia send any data or telemetry?
No. The app has no accounts, analytics or crash reports. It only connects to your servers over SSH and, the first time you open the editor, to cdn.jsdelivr.net to download it. The details are on the Privacy page.
Diagnostics
Check whether a profile’s master session is still alive (the socket path is shown in the profile’s Master session panel):
ssh -S ~/Library/Application\ Support/Terminalia/s/<id>.sock -O check user@hostView the app log for the last hour. Terminalia writes to the macOS unified log under the subsystem com.aacdev.Terminalia; you can also view it in the Console app by filtering on that subsystem. It’s never sent anywhere.
log show --predicate 'subsystem == "com.aacdev.Terminalia"' --last 1h --style compactReproduce the exact command the app runs, with verbose output, from Terminal: ssh -vv -N user@host. If it fails the same way, the problem is outside the app.
Contact
Didn’t find the answer? Write to us. If it’s a connection problem, paste the diagnostic output from above into your message: it saves several rounds of back and forth. Make sure it doesn’t include passwords, private keys or host names you don’t want to share.