Desktop: Troubleshooting 💻 Desktop

Capture logs, find crash reports, fix the common pitfalls.

Desktop is in active development. Some debug surfaces below are planned but not yet shipped — see tabssh/desktop.

🐛 Debug Logging

  • tabssh --debug — enables verbose tracing output. (Planned for v0.1.)
  • RUST_LOG=tabssh=debug tabssh — alternative via env var.
  • Logs go to stderr by default — pipe to a file: tabssh --debug 2> tabssh.log.

💥 Panic-Handler Crash Reports

  • An uncaught panic writes a backtrace to ~/.local/state/tabssh/crashes/ (Linux) / ~/Library/Logs/tabssh/ (macOS) / %LOCALAPPDATA%\tabssh\crashes\ (Windows).
  • Filename includes timestamp and crash-thread name.
  • There's no equivalent of mobile's "ANR watchdog" — use your OS's process monitor (Activity Monitor / Task Manager / ps) if the GUI freezes.

🚫 "Permission denied (publickey)"

  • TabSSH Desktop reads ~/.ssh/ directly — keys must be present and have the right perms (chmod 600 ~/.ssh/id_*).
  • If your ~/.ssh/config has IdentityFile ~/some/path, expand ~ manually if the path doesn't resolve.
  • For passphrase-protected keys, the OS keychain agent (ssh-agent / Keychain / pageant) needs to be running and have the key loaded — TabSSH does not prompt for the passphrase on every connect.

🐌 Slow Terminal / High CPU

  • Lower the scrollback buffer in Settings → Terminal.
  • Disable transparency / blur effects on Linux compositors (KDE, GNOME) — egui rendering hates them.
  • If a single tab is wedging the whole window, that's a bug — file an issue with the panic log.

🪟 Windows-Specific

  • SmartScreen will warn on first launch — TabSSH is not yet code-signed for Windows. Click "More info" → "Run anyway".
  • The binary is fully self-contained — no Visual C++ Redistributable required.
  • Credential Manager integration is planned, not shipped yet — credentials live in TabSSH's own encrypted store until then.

🍎 macOS-Specific

  • Gatekeeper will quarantine an unsigned binary on first run: xattr -d com.apple.quarantine ./tabssh-macos-arm64.
  • Native Keychain integration uses the user's login keychain — first key save will prompt for the keychain password.

📝 Reporting Issues

  • File on tabssh/desktop/issues.
  • Include OS + arch + TabSSH version (tabssh --version), reproduction steps, and the relevant log / panic file.
  • Don't paste sensitive logs directly — redact ~/.ssh/config hostnames if needed.
Back to Documentation Report a Bug →