FAQ
Frequently asked questions
The full FAQ, grouped by topic: installation, server, connecting and pairing, sessions, file browsing, notifications and apps.
Installation
Q.01 — The install fails with a sha256 mismatch.
The installer verifies the server download and its signature. It reports quicktui-server-… sha256 mismatch or a signature failure.
Usually the download was interrupted or corrupted, so run the same install command again. If it keeps failing, try the other install source (Global or China mirror) and check for a proxy that caches or rewrites downloads.
If signature verification fails, don't try to bypass it. Please send us the full output.
Q.02 — Do I need Herdr or tmux?
Yes. The QuickTUI server needs at least one of Herdr or tmux (3.2 or later). We recommend Herdr (see Q.03).
If one of them is already installed, the installer uses it. If neither is, the installer tries to install Herdr automatically from Herdr's official source into ~/.local/bin/herdr (/root/.local/bin/herdr for a root install). Windows supports Herdr only. QuickTUI Server from Microsoft Store doesn't install it, so install Herdr yourself first (see Q.04).
If the automatic install fails (for example, when Herdr's official source can't be reached), the installer warns and still installs the server, but sessions won't work until Herdr or tmux is installed. Install one of them manually (see Q.04 and Q.05), then run the install command again.
Q.03 — Why use Herdr or tmux?
Herdr and tmux both support multiple workspaces and keep sessions running in the background: as long as your computer doesn't restart, your agent sessions stay alive.
For most people we recommend Herdr: it integrates better with agents and performs better. If you already use tmux, QuickTUI fully supports it too.
Q.04 — How do I install Herdr?
# macOS / Linux curl -fsSL https://herdr.dev/install.sh | sh # Windows (PowerShell) powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"
Full docs: herdr.dev/docs/install
Q.05 — How do I install tmux?
Most Linux distributions include tmux in their package manager, and on macOS you can use Homebrew:
# Debian / Ubuntu sudo apt install tmux # Fedora sudo dnf install tmux # macOS (Homebrew) brew install tmux
QuickTUI needs tmux 3.2 or later. For other systems, see the tmux install guide.
tmux doesn't support Windows; use Herdr there.
Q.06 — What happens when I re-run the installer?
The install command upgrades the existing server in place: it replaces the QuickTUI server with the new version and restarts the service, and restores the previous version if the replacement fails.
Paired devices, the server identity and your settings (port, session backend and so on) are all kept, so there's no need to pair again.
Q.07 — Can I check or prepare dependencies before installing?
Yes, on macOS and Linux. check only checks runtime dependencies. It doesn't install the server, write configuration or register a service:
curl -fsSL https://quicktui.ai/q.sh | sh -s -- check
If the server is already installed, check checks that version. Otherwise, it temporarily downloads and verifies the current official server, checks against it, and removes it when done. To check a specific local binary, pass its absolute path with --server, for example check --server "$HOME/Downloads/quicktui-server". A damaged installed server causes an error rather than a download.
prepare installs missing dependencies only (such as Herdr), again without installing the server:
curl -fsSL https://quicktui.ai/q.sh | sh -s -- prepare
Server
Q.08 — How do I change server settings?
Settings live in ~/.config/quicktui-server-v2/config.toml (%USERPROFILE%\.config\quicktui-server-v2\config.toml on Windows). The listen address, TERM, LANG and tmux socket can be changed with config set, which writes the file and restarts the service for you:
~/.local/bin/quicktui-server config set --addr 0.0.0.0:9000
For other settings, edit the file directly and restart the service:
# macOS / Linux ~/.local/bin/quicktui-server service restart # Linux (installed as root) sudo /usr/local/bin/quicktui-server service restart # Windows (PowerShell) quicktui-server service restart
See Configuration in the install guide for every setting.
Q.09 — How do I upgrade or restart the server?
The easiest way is to upgrade from the app; the service restarts automatically afterwards.
On macOS and Linux you can also upgrade from the command line. Nothing changes if you're already up to date:
~/.local/bin/quicktui-server upgrade check ~/.local/bin/quicktui-server upgrade install
For a root install, use /usr/local/bin/quicktui-server with sudo. On Windows, Microsoft Store keeps the server up to date, so neither the app nor the command line upgrades it.
To restart the service only:
# macOS / Linux ~/.local/bin/quicktui-server service restart # Linux (installed as root) sudo /usr/local/bin/quicktui-server service restart # Windows (PowerShell) quicktui-server service restart
Q.10 — How do I change the listen address or port?
Use config set --addr; the service restarts automatically:
# macOS / Linux ~/.local/bin/quicktui-server config set --addr 0.0.0.0:9000 # Linux (installed as root) sudo /usr/local/bin/quicktui-server config set --addr 0.0.0.0:9000 # Windows (PowerShell) quicktui-server config set --addr 0.0.0.0:9000
The format is host:port; IPv6 needs brackets, e.g. [::1]:9000. Your phone then needs the new address; run pairing qrcode to show a QR code that includes it.
You can also set it at install time: install --port 9000 or --addr 127.0.0.1:9000.
Q.11 — How do I view server logs?
macOS and Linux:
# macOS tail -f ~/Library/Logs/QuickTUI/stderr.log ~/Library/Logs/QuickTUI/stdout.log # Linux (regular user) journalctl --user -u quicktui -f # Linux (installed as root) journalctl -u quicktui -f
On Windows the server doesn't write log files. To see its output, stop the service and run the server in the foreground:
quicktui-server service uninstall quicktui-server serve --log-level debug
service uninstall also removes agent hooks; they come back when the server starts. When you're done, press Ctrl+C and run quicktui-server service install to run the server in the background again.
For more detailed logs, set log_level = "debug" in the config file and restart the service. To see only some kinds of logs, also set debug_categories, for example debug_categories = ["WS"].
Q.12 — How do I uninstall QuickTUI?
On macOS and Linux, add uninstall to the install command:
curl -fsSL https://quicktui.ai/q.sh | sh -s -- uninstall
This removes the background service and agent hooks but keeps the server binary and configuration, including your pairings. On Windows, run quicktui-server service uninstall in PowerShell, then uninstall QuickTUI Server in Settings > Apps > Installed apps; your configuration and pairings are kept. To remove everything, see Uninstall in the install guide.
Q.13 — Can I install QuickTUI as root on Linux?
Yes. On Linux with systemd, running the install command as root installs a system service that starts at boot and doesn't depend on anyone signing in:
- Regular-user install
- Binary: ~/.local/bin/quicktui-serverService: systemd user service, managed with
systemctl --userConfig: ~/.config/quicktui-server-v2/ - Root install
- Binary: /usr/local/bin/quicktui-serverService: /etc/systemd/system/quicktui.service, managed with
systemctlConfig: /root/.config/quicktui-server-v2/
A root install runs as root. Without systemd, only the binary is installed and no service is registered. A root install and a regular-user install on the same machine are separate instances; don't mix them (see Q.14).
Q.14 — Conflicting root and user permissions prevent the service from starting.
QuickTUI never takes over files that belong to another account. When it finds files owned by the wrong account, it stops with quicktui: unsupported mixed identity: <ID>, followed by the expected euid, the actual owner, and the path. There are three IDs:
mixed-config- For a root install, a directory on the config path isn't owned by root, is writable by other users, or is a symlink.
mixed-binary- For a root install, the server binary path fails the same checks. Reported by the installer or during service registration.
mixed-socket- The tmux socket directory belongs to another user, or
TMUX_TMPDIRpoints to another user's directory. This can affect both regular-user and root installs.
Check your user ID and file ownership, and read the full error:
id -u stat ~/.config/quicktui-server-v2 # Regular user journalctl --user -u quicktui -e # Root journalctl -u quicktui -e
To fix it, make sure each instance uses only its own account's config, binary, and socket: uninstall the stray instance from the account that installed it, then reinstall as the right user.
Q.15 — On Linux, the server stops after I sign out.
A regular-user install on Linux runs as a systemd user service, which follows your login session by default. When you close your SSH connection or sign out, the server may stop and your phone can no longer connect. Enable linger once to keep it running, with the command that fits your situation:
1. Enable it directly (when signed in locally, or when your user has permission):
loginctl enable-linger
2. Permission error (such as Access denied or Interactive authentication required, common over SSH). If you have sudo:
sudo loginctl enable-linger "$USER"
Without sudo, ask an administrator to run:
sudo loginctl enable-linger <your-username>
3. Failed to connect to bus. If you switched to the user with su or sudo -u, the session has no user bus: sign in as that user over SSH directly and run it again, or set the runtime directory and then enable it:
export XDG_RUNTIME_DIR=/run/user/$(id -u) loginctl enable-linger systemctl --user restart quicktui
If the system itself didn't boot with systemd (some containers, or WSL without systemd enabled), user services and linger aren't available. Install as root instead, or enable systemd first.
Check that it's on: the output should be Linger=yes.
loginctl show-user "$USER" --property=Linger
The server then starts at boot and keeps running whether or not you're signed in. Root installs use a system service and aren't affected.
Q.16 — Pairing says another QuickTUI server is listening on the port.
An older QuickTUI server is still running and holds the listen port (8022 by default), so the new one can't use it. Stop the older service, then restart the server:
~/.local/bin/quicktui-server service restart
If you can't tell which service is the old one, see Q.14: you may have both a root install and a regular-user install.
Connecting & pairing
Q.17 — How do I pair another device?
Run the pairing guide on your computer:
# macOS / Linux ~/.local/bin/quicktui-server pairing welcome # Linux (installed as root) sudo /usr/local/bin/quicktui-server pairing welcome # Windows (PowerShell) quicktui-server pairing welcome
Choose how to show the QR code when the guide asks. A desktop browser is recommended; the terminal works too, but some terminal fonts make the code unreadable. If your phone can't scan it, choose Pairing text instead (see Q.18).
Once the QR code is up, in the app:
- On the server list, tap +.
- Choose Other ways to connect.
- Choose Scan a QR Code to Connect a Computer with Enhanced Features, then tap Next.
- Point the camera at the QR code to finish pairing.
Q.18 — My phone can't scan the pairing QR code.
Use pairing text instead. It carries the same one-time pairing code as the QR code, as a single line you can copy and paste. On your computer, run the pairing guide and choose Pairing text, or print it directly:
# macOS / Linux ~/.local/bin/quicktui-server pairing qrcode --text # Windows (PowerShell) quicktui-server pairing qrcode --text
Copy the whole line that starts with qtpair: and get it onto your phone, for example from an SSH session on the phone or with a shared clipboard. Then, in the app:
- On the server list, tap +.
- Choose Other ways to connect.
- Choose Paste Pairing Text, then tap Next.
- Paste the text, tap Next, and confirm to finish pairing. Line breaks and extra spaces from the terminal are removed automatically.
Like the QR code, pairing text works once and expires in 15 minutes. Don't share it.
Q.19 — Can't connect — connection refused.
First make sure the server is running:
# macOS launchctl print gui/$(id -u)/ai.quicktui # Linux systemctl --user status quicktui # Linux (installed as root) systemctl status quicktui # Windows (PowerShell) Get-Process quicktui-server
If it isn't, restart it:
# macOS / Linux ~/.local/bin/quicktui-server service restart # Linux (installed as root) sudo systemctl restart quicktui # Windows (PowerShell) quicktui-server service restart
Still refused while it's running? Make sure your firewall, VPN or tunnel lets through the server port (8022 by default).
Q.20 — Can I connect over the internet?
Yes. Pick any way for your phone to reach your computer:
- QuickTUI Cloud relay
- No network setup needed. Every account gets free relay traffic each month; subscribe to QuickTUI Cloud for regular use.
- VPN
- A private network such as Tailscale lets your phone reach your computer directly.
- Tunnel or reverse proxy
- For example, Cloudflare Tunnel or a reverse proxy with TLS. Point it at http://127.0.0.1:8022, then use the public HTTPS hostname in the app (without :8022).
Pairing codes, device sign-in and everything you do travel inside an end-to-end encrypted tunnel, so even if you open port 8022 directly, no one can read your traffic or pretend to be your computer. An open port does reveal that a QuickTUI server is running, its version and a few other details, and a flood of junk connections could keep your own devices from getting through. That's why we recommend one of the options above.
To pair through a tunnel or reverse proxy, update QuickTUI Server to the latest version, then generate a QR code with your public address:
# macOS / Linux ~/.local/bin/quicktui-server pairing qrcode --public-url https://your.domain # Windows (PowerShell) quicktui-server pairing qrcode --public-url https://your.domain
The tunnel or proxy must keep the original Host header and send X-Forwarded-Proto. Cloudflare Tunnel does both by default. If your proxy doesn't send that header, also update the QuickTUI app to the latest version.
For step-by-step setup of Cloudflare Tunnel, an HTTPS reverse proxy (nginx, Caddy) or router port forwarding, see Remote access.
Pairing QR codes expire quickly. Keep them private.
Q.21 — The app says "Local Network Access Required".
iPhone and iPad block apps from reaching devices on your local network until you allow it. Open Settings → Privacy & Security → Local Network and turn on QuickTUI, then return to the app and retry. When the server is also bound to the QuickTUI Cloud relay in auto mode, the app connects through the relay in the meantime.
Q.22 — I can connect at home but not when I'm away.
The app is using a local address (an IP such as 192.168.1.10 or a .local hostname), which only works on the same network as your computer. Set up a way to reach it from anywhere (see Q.20), then change the address on the server's Edit Server page. You don't need to pair again.
Q.23 — I can't connect through Tailscale.
- Make sure Tailscale is connected on your iPhone and no other VPN is on; iOS runs only one VPN at a time.
- Make sure Tailscale on your computer is signed in to the same account.
- Use an http:// address with port 8022.
- If you used the computer's Tailscale name (such as my-mac), try its 100.x.y.z address instead. If that works, MagicDNS is off in your Tailscale admin console.
- If your tailnet uses access controls, allow your phone to reach TCP port 8022 on the computer.
In mainland China, Tailscale can be very slow unless you run your own DERP relay; the QuickTUI Cloud relay is usually the better choice there.
Q.24 — Connecting by hostname fails, but the IP address works.
Your phone couldn't resolve the hostname. Check these:
- Use the name ending in .local, such as my-mac.local. On a Mac it's shown as Local hostname in System Settings → General → Sharing.
- Make sure your phone is on the same network and QuickTUI has local network access (see Q.21).
- On Linux, the computer must run Avahi (mDNS). Ubuntu Desktop includes it; on a server, install avahi-daemon.
- Phones usually can't resolve Windows hostnames; use the IP address or a Tailscale address.
Q.25 — The app says this device is no longer paired with the server.
The device was revoked on your computer, or the server identity was replaced with pairing identity rotate. Open the server's Edit Server page, tap Re-pair and scan a new QR code (see Q.17), or paste new pairing text (see Q.18).
Q.26 — Through a tunnel or reverse proxy, the app shows an HTTP status code.
The app couldn't read the server's capability through your tunnel or proxy. A 404 usually means the proxy doesn't forward every path from the root to the server; a 502 or 503 usually means the proxy can't reach the server, or the server isn't running. See Remote access for what the tunnel or proxy needs.
Q.27 — How does QuickTUI authenticate devices?
QuickTUI signs in devices through pairing, and everything is end-to-end encrypted:
- When you pair
- The pairing QR code holds a one-time pairing code and your computer's identity fingerprint. The code works once, expires in 15 minutes and only ever travels inside the encrypted channel. The app remembers your computer's identity and will only connect to that exact computer, so no one can impersonate it.
- Device keys
- Each phone creates its own key when it pairs. The private key stays in the system's secure storage (Secure Enclave or Keychain on iPhone, Android Keystore on Android) and never leaves the phone.
- Every connection
- The app first checks your computer's identity, then proves it's a paired device with its private key, and both sides agree on fresh encryption keys for that connection. Terminal, files, port forwarding and everything else are encrypted and protected against replay.
- Through the QuickTUI Cloud relay
- The relay only passes encrypted data along. It can't read it or impersonate either side. The one exception is push notifications: if you turn them on, the relay briefly sees the notification text as it delivers it.
- Revoking a device
- If a phone is lost or retired, revoke it on your computer:
# List paired devices ~/.local/bin/quicktui-server pairing devices list # Revoke a device ~/.local/bin/quicktui-server pairing devices revoke <device-id>
A revoked device is disconnected within 5 minutes and can't connect again. On Windows, run the same commands in PowerShell, starting with quicktui-server.
Sessions
Q.28 — My workspace list is empty.
The list shows workspaces from every enabled backend on your computer: Herdr, tmux or both. If it's empty, tap [+] in the top-right corner to create a workspace; if more than one backend is available, you'll pick one first.
The server starts Herdr or tmux automatically when needed. If the app says "The server is connected, but no session backend is available", your computer has neither Herdr nor tmux yet. Install one of them (see Q.04 and Q.05), then restart the service.
We recommend Herdr. It integrates better with agents, performs better, and is the backend the installer sets up when neither is present. When both are available, the server uses Herdr by default (see Q.31).
Workspaces that already exist on your computer show up automatically: workspaces you create in Herdr locally appear after you refresh the list, and so do tmux sessions, for example:
tmux new-session -s mysession
Q.29 — The app says no session backend is available, or shows a backend error.
The server can't find a working tmux or Herdr, or can't start one. Work through these steps:
- Make sure Herdr or tmux is installed on your computer; see Q.04 and Q.05. When the app says "The server is connected, but no session backend is available", you can also tap Install Herdr or Install tmux (Herdr only on Windows) and let the server install it; the app reconnects when it finishes.
- Run
doctoron your computer to see how tmux, Herdr and agents are found:~/.local/bin/quicktui-server doctor
- If you set
tmux_binorherdr_binin the config file, make sure they're absolute paths to real executables; tmux must be 3.2 or later. Restart the service after changing them. - If it still fails, check the server logs (see Q.11).
Q.30 — The app says "Workspace has been closed".
The workspace you're opening no longer exists. Usually it was closed on your computer, or tmux / Herdr restarted and the old workspace IDs expired. Go back to the list and pick another workspace, or tap [+] to create one.
It can also show up briefly while the server upgrades or restarts; wait a moment and reconnect.
Q.31 — Does QuickTUI work with Herdr?
Yes. tmux and Herdr are both session backends and can be enabled together. Each time the server starts, it detects tmux and Herdr on your computer and enables them, and Herdr is the default whenever it's available. After installing Herdr, restart the service and it appears in the app:
# macOS / Linux ~/.local/bin/quicktui-server service restart # Linux (installed as root) sudo /usr/local/bin/quicktui-server service restart # Windows (PowerShell) quicktui-server service restart
Besides tmux and Herdr, QuickTUI also supports the Luvus backend. It isn't detected automatically: add luvus to session_backends in the config file and set luvus_bin. To change the default backend, edit session_backend in the config file; see Configuration in the install guide. Windows always uses Herdr; native Windows and Herdr on ARM64 computers haven't been fully validated yet.
Q.32 — tmux scrollback shows duplicated or misaligned text after running an agent.
Agents such as Claude Code and Codex draw a full-screen interface. If one draws on the terminal's main screen instead of the alternate screen, every redraw lands in tmux scrollback and shows up as duplicated or misaligned text. To fix it, have the agent use the alternate screen:
- Claude Code: run
/tui fullscreen(v2.1.89 or later). To make it the default for every session, addCLAUDE_CODE_NO_FLICKERto theenvsection of ~/.claude/settings.json, merging it with any settings already there:{ "env": { "CLAUDE_CODE_NO_FLICKER": "1" } } - Codex: the
tui.alternate_screensetting controls this (defaultauto). If it's set tonever, change it toalwaysin ~/.codex/config.toml:[tui] alternate_screen = "always"
- Grok Build: set
alt_screen = "always"in ~/.grok/pager.toml. - Pi: switch from regular mode to fullscreen mode in
/settings. - aider: uses the alternate screen by default; check whether a startup option such as
--no-fancy-inputturns it off.
To clear what's already in scrollback:
tmux clear-history
If the config file of Claude Code or Codex doesn't turn fullscreen on, the app shows a hint banner when you open a terminal; see Q.33 and Q.34.
Q.33 — The app says Claude Code's fullscreen mode is off.
The server reads ~/.claude/settings.json on your computer every hour (once a day after the settings look right). When Claude Code isn't set to use fullscreen (the alternate screen), the app shows this banner when you open a terminal, at most once a day. Without fullscreen, Claude Code's output can show up duplicated or misaligned in the remote terminal (see Q.32). The server only reads the file and never changes it. To turn fullscreen on, use either way:
- Run
/tui fullscreenin Claude Code (v2.1.89 or later). - Add
"tui": "fullscreen"to ~/.claude/settings.json, merging it with any settings already there:{ "tui": "fullscreen" }
Setting CLAUDE_CODE_NO_FLICKER to 1 in the env section of the same file also counts as on. If that env section sets CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN, remove it: it turns fullscreen off. The server only checks ~/.claude/settings.json, so a variable exported in your shell or a different config directory isn't seen; in that case the banner can appear even though fullscreen works, and you can close it.
Q.34 — The app says Codex's fullscreen mode is off.
The server reads ~/.codex/config.toml on your computer every hour (once a day after the settings look right). When alternate_screen under [tui] is never, Codex draws on the main screen and its output can show up duplicated or misaligned in the remote terminal (see Q.32), so the app shows this banner when you open a terminal, at most once a day. The server only reads the file and never changes it. Change the setting to always, or delete the line to use the default auto:
[tui] alternate_screen = "always"
The --no-alt-screen option also turns fullscreen off for that run, so don't pass it when you start Codex.
Q.35 — Stray terminal color query replies appear in input (OSC leak).
These strings (such as 11;rgb:2828/2c2c/3434) are responses to terminal background color queries being incorrectly directed into stdin. Certain terminal applications query the terminal for background colors upon launching; if unhandled, the response leaks into the input field. When detected, QuickTUI displays a "Terminal Color Reply Leak Detected" banner.
The fix is to set a fixed theme in that app so it stops querying colors, for example by running /theme in Claude Code and picking a specific theme.
If other terminals are attached to the same tmux session, they can also produce these replies; detach them and check again.
Q.36 — Text in the terminal is garbled.
The server sets session TERM to xterm-256color by default and falls back automatically if your computer lacks that terminfo entry. If you changed the term setting (for example to xterm-ghostty) and your tmux doesn't support it, rendering can break. Set it back to the default; the service restarts automatically:
~/.local/bin/quicktui-server config set --term xterm-256color
The Herdr backend always uses xterm-256color and isn't affected by this setting.
Q.37 — The Agent Wizard shows an agent in a warning color.
The server couldn't find that agent's executable. The server runs as a background service, so its PATH can differ from your login shell. Run doctor to see where it looked:
~/.local/bin/quicktui-server doctor
Then set the agent's full path (from which claude, for example) in the [agent_bins] table of the config file and restart the service:
[agent_bins] claude = "/opt/homebrew/bin/claude"
Q.38 — The app shows no live status for my agents.
Agent status comes from the hooks the installer adds to each agent. For Codex, trust them with /hooks in the Codex CLI; for OpenCode, restart OpenCode once. Otherwise reinstall the hooks:
~/.local/bin/quicktui-server hooks install
File browsing
Q.39 — The app's file manager can't open Desktop, Documents or Downloads on my Mac.
When you browse a Mac in the app's file manager, opening ~/Desktop, ~/Documents, ~/Downloads and similar folders fails, and the app says macOS privacy settings blocked access. iCloud Drive, external drives and network volumes can behave the same way.
These folders are protected by macOS privacy controls and need your permission before an app can read them. The QuickTUI server runs in the background, so macOS never shows it a permission prompt; you need to grant it Full Disk Access yourself.
To fix it:
- In the app's server list, tap the Files icon on the server card to open the file manager. If it says "File browsing is off", tap Enable File Browsing first.
- On your Mac, open System Settings → Privacy & Security → Full Disk Access (on macOS 12 or earlier: System Preferences → Security & Privacy → Privacy → Full Disk Access).
- Click + below the list and enter your Mac password or use Touch ID when asked.
- In the file picker, press ⌘⇧G, type ~/.local/bin/quicktui-server, press Return, select quicktui-server and click Open. .local is a hidden folder, so you won't see it by browsing in Finder; type the path instead.
- Make sure quicktui-server appears in the list with its switch turned on.
- Back in the app, tap Recheck in the message to check access again.
- If it's still blocked, restart the service on your Mac and try again:
~/.local/bin/quicktui-server service restart
Upgrading or reinstalling the server replaces the program file. If access is blocked again afterwards, remove quicktui-server from Full Disk Access and add it again with the steps above.
Q.40 — On Linux, file browsing shows permission denied or 403.
Check these causes:
- File browsing is off
- Turn on file browsing in the app first.
- Changing files outside your home folder
- For safety, editing, uploading, creating, renaming and deleting are only allowed inside the home folder of the user the server runs as; outside it, files are read-only. For a root install, the home folder is /root.
- Missing system permissions
- The server runs as the user that installed it (root for a root install) and can only access what that user can.
Check permissions and ACLs on every directory along the path:
namei -l /path/to/file getfacl /path/to/file
After adding the server's user to a new group, restart the service for it to take effect:
~/.local/bin/quicktui-server service restart
With SELinux enabled, check getenforce and sudo ausearch -m AVC -ts recent for denials.
Notifications
Q.41 — What data do Agent notifications send, and how do I turn them off?
Agent notifications require the server to be bound to the QuickTUI Cloud relay and agent hooks to be installed. The server sends each notification through QuickTUI Cloud to Apple's or Google's push service for delivery.
By default, a notification only says what happened, such as an agent needing approval, a task completing, an agent error or a session ending. It doesn't include project names, session names or task content. Optional extras are the agent type, project name, session identifier and a task or error summary. Notifications never include full terminal output, source code or credentials.
To stop notifications, turn off notifications for QuickTUI in your iPhone or Android system settings.
Apps
Q.42 — Is there an Android app?
Yes, in preview. Download the APK from GitHub; it runs on Android 8.0 or later and works with the same server as the iPhone and iPad app. During the preview, every feature is free. See QuickTUI for Android (Preview) for downloads, installation and updates.