API Server Status

Checking...

Email Us

Have an issue or question? Reach out and we'll get back to you.

[email protected]

Response Time

We typically respond within 24–48 hours on business days. For faster resolution, include the details listed in the contact section below.

Contact Support

We're here to help. Whether you're experiencing a bug, have a feature request, or just need guidance, don't hesitate to reach out.

Email Support

For technical issues, feature requests, bug reports, or general questions:

[email protected]

When Contacting Support, Please Include:

  • Device model (e.g., iPhone 15 Pro, iPad Air M2, MacBook Pro M3)
  • iOS/iPadOS/macOS version (e.g., iOS 18.3, macOS 15.2)
  • Bracket app version (found in More → About)
  • Description of the issue — what happened vs. what you expected
  • Steps to reproduce — how to trigger the problem
  • Screenshots or screen recordings if applicable
  • Server OS if the issue is connection-related (e.g., Ubuntu 22.04)

The more details you provide, the faster we can help.

Frequently Asked Questions

General

Yes. Bracket is free to download and use with all features included. There are no subscriptions, in-app purchases, or paywalls.

Bracket requires iOS 18.0 or later, iPadOS 18.0 or later, and macOS 15.0 (Sequoia) or later. It works on all iPhones and iPads that support iOS/iPadOS 18, all Macs that support macOS Sequoia, including full Stage Manager support on iPad.

Yes. Your SSH keys and passwords are stored in the iOS Keychain, which is encrypted and protected by your device's security. We also support Face ID/Touch ID for app lock. Your connection data never leaves your device unless you explicitly enable iCloud sync. Bracket contains no analytics, no tracking, and no ads.

You can browse saved connections, view SSH keys, and manage configurations offline. However, connecting to servers requires an active network connection (WiFi or cellular).

AI Assistant

Bracket's AI assistant shares your terminal session and can see the same output you see. When you encounter an error or aren't sure what to do next, the AI can:

  • Diagnose problems — it reads error messages and explains what went wrong
  • Suggest commands — it recommends the exact commands to fix the issue
  • Execute commands — with your permission, it can take over the terminal and run a sequence of commands while you watch

Think of it as having an experienced sysadmin sitting next to you, ready to help whenever you need it.

Yes. When you ask the AI to help, it can execute commands directly in your terminal session. You stay in full control:

  • AI only acts when you explicitly ask it to
  • You can see every command it runs in real time
  • You can stop the AI and take back control at any time
  • AI works within your existing SSH session — it has the same permissions as your user account

When you use the AI assistant, the relevant terminal context is sent to the AI service to generate responses. However:

  • Data is only sent when you actively engage the AI — it does not stream your session in the background
  • The AI has no persistent memory of your sessions
  • You can use Bracket without the AI feature at all — it's entirely optional

Connections & Protocols

Try these steps in order:

  1. Verify hostname and port — the default SSH port is 22
  2. Check your username — it's case-sensitive on most servers
  3. Test from another client — can you SSH from a computer?
  4. Check firewall rules — ensure port 22 (or your custom port) is open
  5. Verify the server's SSH service is running (systemctl status sshd)
  6. Try connecting over a different network — some networks block SSH traffic

If you see "Connection refused", the server is reachable but SSH isn't listening. If you see "Connection timed out", a firewall or network issue is blocking traffic.

SSH connections can be disrupted by network changes (e.g., switching WiFi or moving to cellular). Try these:

  • Use Mosh instead of SSH — Mosh is specifically designed for mobile and survives network changes, sleep/wake cycles, and IP changes
  • Enable tmux in your connection settings — even if the connection drops, your session is preserved on the server and you can reattach
  • Check your server's SSH timeout settingsClientAliveInterval and ClientAliveCountMax in /etc/ssh/sshd_config
  • Disable Low Data Mode in iOS Settings → WiFi → your network

SSH is the standard secure protocol for remote access. All traffic is encrypted. Recommended for most use cases.

Mosh (Mobile Shell) is built on top of SSH but uses UDP. It handles roaming, intermittent connectivity, and high latency much better than SSH. Ideal for mobile use. Requires mosh-server installed on your server.

Telnet is an unencrypted legacy protocol. Only use it for local network devices that don't support SSH (e.g., some routers, switches, or embedded systems). Never use Telnet over the internet.

Yes. Bracket supports all three types of SSH port forwarding:

  • Local forwarding — access remote services (databases, web apps) as if they were running locally
  • Remote forwarding — expose local services to the remote server
  • Dynamic (SOCKS proxy) — use your SSH server as a secure proxy for all traffic

Configure port forwarding rules in the connection settings before connecting.

Authentication & SSH Keys

For password auth:

  • Double-check your password (it's case-sensitive)
  • Verify the server allows password authentication (PasswordAuthentication yes in sshd_config)
  • Check if your account is locked on the server

For key auth:

  • Ensure your public key is in ~/.ssh/authorized_keys on the server
  • Check permissions: chmod 700 ~/.ssh and chmod 600 ~/.ssh/authorized_keys
  • Make sure you selected the correct private key in Bracket's connection settings
  • If the key has a passphrase, enter it when prompted
  • Verify the server allows key authentication (PubkeyAuthentication yes)

Bracket supports the following key types:

  • Ed25519 (recommended — fast, secure, small keys)
  • RSA (2048, 3072, 4096 bit)
  • ECDSA (P-256, P-384, P-521)

Keys must be in OpenSSH PEM format. PuTTY (.ppk) keys need to be converted first using puttygen. See the SSH Keys section below for conversion instructions.

This is a security feature protecting you from man-in-the-middle attacks. The server's host key has changed since your last connection.

Accept the change only if:

  • The server was reinstalled or its OS was upgraded
  • The SSH host keys were intentionally rotated by your administrator
  • You've verified the new fingerprint with your hosting provider

Do NOT accept if you're unsure. Contact your server administrator to verify the fingerprint before proceeding.

Terminal & Features

Yes. Bracket is fully optimized for iPad and Mac with hardware keyboard support including:

  • Full keyboard shortcuts (Cmd+T for new tab, Cmd+W to close, Cmd+D to split, etc.)
  • All modifier keys work correctly (Ctrl, Alt/Option, Cmd)
  • Native macOS app with full keyboard and trackpad support
  • Stage Manager support for multiple windows
  • Split View and Slide Over support on iPad
  • Split terminal panes (side-by-side sessions)

You can split your terminal view in several ways:

  • Keyboard shortcut: Cmd+D (split down) or Cmd+Shift+D (split right)
  • iPad toolbar: Tap the split icons in the title bar
  • iPhone menu: Tap the … menu and choose Split Down or Split Right

Each pane runs its own independent shell session. Close a pane with Cmd+W.

When you enable tmux in a connection's settings, Bracket automatically attaches to (or creates) a tmux session on the server when you connect. This means:

  • If your connection drops, your terminal session keeps running on the server
  • When you reconnect, you pick up exactly where you left off
  • You can start work on your iPhone and continue on your iPad or Mac

tmux must be installed on the server (apt install tmux or yum install tmux). You can customize the tmux session name and command in connection settings.

Bracket includes a built-in SFTP file browser. While connected to a server:

  • iPad: Tap the folder icon in the toolbar, or press Cmd+U
  • iPhone: Tap the … menu and choose File Browser

From the file browser you can navigate directories, upload files from your device, download files to your device, and manage files on the server (rename, delete, create directories).

iCloud Sync only syncs connection metadata (hostnames, usernames, port numbers, settings). Passwords and SSH private keys are never synced via iCloud — they remain in your device's local Keychain. You'll need to set up authentication on each device separately.

Display & Input

This is usually a terminal type mismatch. Try these:

  • Make sure your server's TERM variable is set to xterm-256color (Bracket sets this automatically)
  • If using tmux, add set -g default-terminal "xterm-256color" to your ~/.tmux.conf
  • For locale issues (garbled Unicode), ensure LANG=en_US.UTF-8 is set on the server
  • Try clearing the terminal (Cmd+K or the eraser icon)

On the on-screen keyboard, special keys are available in the accessory bar above the keyboard:

  • ESC, TAB, CTRL, arrow keys are in the main row
  • Fn keys (F1-F12), Home, End, PgUp, PgDn are available by scrolling the bar
  • If the accessory bar is missing, tap the keyboard icon in the toolbar to toggle it

With an external keyboard, all keys work natively including Ctrl combinations, Escape, and function keys.

Getting Started

1. Create Your First Connection

  1. Tap the + button in the Connections tab
  2. Enter a name for your server (e.g., "Production Server")
  3. Enter the hostname or IP address
  4. Enter your username
  5. Choose your authentication method:
    • Password: Enter your SSH password
    • Private Key: Import or generate an SSH key
    • Certificate: Use CA-signed certificate
  6. Tap "Save" and then connect

2. Import an SSH Key

  1. Go to More → SSH Keys
  2. Tap the + button
  3. Choose to paste from clipboard or import from file
  4. Paste your private key (PEM format)
  5. Optionally add a passphrase if the key is encrypted
  6. Tap "Import"

3. Use the Custom Keyboard

When in a terminal session, the custom keyboard provides quick access to:

  • ESC — Essential for Vim and other terminal apps
  • CTRL — Control key combinations (Ctrl+C, Ctrl+Z, etc.)
  • Arrow Keys — Navigation in menus and command history
  • TAB — Command and path completion
  • Extended Keys — F1-F12, Home, End, Page Up/Down

Working with SSH Keys

Generating a New Key

  1. Go to More → SSH Keys
  2. Tap + then Generate Key
  3. Choose key type (Ed25519 recommended)
  4. Optional: Add a passphrase for extra security
  5. Tap Generate
  6. Copy the public key to your server's ~/.ssh/authorized_keys

Converting PuTTY Keys (.ppk)

If you have a PuTTY private key (.ppk), convert it to OpenSSH format:

# On your computer with PuTTY installed:
puttygen private.ppk -O private-openssh -o private_key

# Then import private_key into Bracket

Adding Key to Server

To use key authentication, add your public key to the server:

# Copy public key to clipboard in Bracket
# Then on your server:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "PASTE_PUBLIC_KEY_HERE" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Troubleshooting

Connection Refused

  • Check that the hostname/IP address is correct
  • Verify the port number (default is 22)
  • Ensure the SSH service is running on the server
  • Check firewall settings on the server

Authentication Failed

  • Double-check your username
  • Verify your password is correct
  • For key auth: ensure the public key is in ~/.ssh/authorized_keys
  • For key auth: check that permissions are correct (chmod 600 for private key, chmod 700 for ~/.ssh)

Host Key Verification Failed

  • This is normal for first connections — tap "Accept"
  • If the key changed unexpectedly, verify with your administrator
  • You can view/manage known hosts in More → Known Hosts

Keyboard Not Showing Special Keys

  • Tap the keyboard icon in the terminal toolbar to toggle the accessory bar
  • Check that the terminal input field is focused (tap on the terminal area)

App Crashes or Freezes

  • Force close and reopen the app
  • Restart your iOS device
  • Ensure you're running the latest version from the App Store
  • If issues persist, email [email protected] with details

Still Need Help?

If your issue isn't covered here, email us at [email protected] with the details listed in the Contact Support section above. We'll do our best to help.