Skip to content

Server server2-20261104-01

Choose a tag to compare

@dualface dualface released this 04 Nov 13:37
eead7b0

Official server release from quicktui-mono@429560b1c7705eba55035fc63c21393ec7caa748.

Server

Desktop window

  • quicktui-server gui opens a desktop window on Windows and macOS. It shows the server status, starts or restarts the server, renames and unpairs devices, pairs a phone, runs diagnostics with repairs you confirm, and has Settings and About pages. Messages that confirm a finished action (Paired: <name>, Unpaired <name>, Repairs finished, Result copied., Log copied.) show at the top of the window and leave after 5 seconds; failures and messages about the current state stay on the page. If you change the service outside the window, the window can take up to a minute to show it.
  • On Windows, opening quicktui-server.exe from the desktop (double-click in File Explorer, the Start menu or the Run dialog) now opens the window, as quicktui-server gui does. Before, it printed the usage and closed at once. Run without arguments in cmd, PowerShell or Windows Terminal, it still prints the usage. On Windows 11 24H2 and later, opening it from the desktop shows no console window.
  • Pair page, Scan QR Code: click Refresh Pairing Code to show a QR code; the page does not make one by itself. While the code is being made or shown, the switch to Pair through QuickTUI Cloud is locked; it unlocks when the phone pairs, the code expires or cannot be made, or you click Cancel Pairing. Change Address lists the addresses with check boxes, with the addresses the QR code on screen holds already checked. The QR code holds the checked addresses, with the first in the server URL and the others as alternatives; it holds at most 5, so with 5 checked the other boxes are disabled. Copy Pairing Text copies the code as text. After pairing, a dialog lets you name the device, then the window returns to Status with the device in the list.
  • Pair page, Pair through QuickTUI Cloud: pick a region, enter the shown code in the app, compare the verification code and approve it in the window; Reject ends the pairing. The region is saved as cloud_pairing_region (global or cn) in config.toml, so later the tab makes a code as soon as you open it; you can change the region on the tab. After a code shows, the window waits 3 minutes before it makes another, with a countdown; then click Generate Pairing Code. While a Cloud pairing runs, the switch to Scan QR Code is locked, and Cancel Pairing ends the pairing. quicktui-server pairing relay and pairing welcome keep their limit of 3 codes per run.
  • The Pair page stays as you left it when you open another page: the tab, the region, the address, and a running pairing with its code. A dot on Pair shows that pairing waits for the app or that a verification code needs you, and Device Paired opens over any page.
  • The Settings page lists the config.toml settings you can change, with their current values. On / Off settings have a switch that saves at once; turning on Claude Desktop Code first asks you to confirm its risk. Language, Default Backend and Log Level offer radio buttons, and Default Backend lists only the enabled backends. Enabled Backends offers check boxes for the backends found on this computer and the enabled ones it cannot find; you must keep at least one, and when you turn off the default backend, the first one left becomes the default. Other settings have a dialog that checks the new value before it saves. Saved settings that apply after a restart show After restart while they differ from the value the running server uses, and one Restart applies all of them. When no session backend is found, the session and program settings are disabled until one is installed. Open Config File opens the file; agent_bins, tmux_env_* and debug_categories stay in the file.
  • The Language setting offers Follow System, English and 简体中文. The window changes at once, without a restart, and the choice is saved as cli_lang, which quicktui-server commands use too. When no language is set, a window on a Chinese system shows Simplified Chinese; other systems show English. --ui-lang and QUICKTUI_CLI_LANG still win for that run, and the Language row is then disabled.
  • The About page shows the version, update channel, platform and install source, and links to the website, user guide, support, privacy policy and GitHub in your browser. The links follow the window language; when the browser cannot open, the address goes to the clipboard. The version shows on a row of its own without the server2- prefix; hold the pointer over it to see the full version.
  • The Diagnostics page runs quicktui-server doctor. Repair N items runs every automatic repair, and each item that has an automatic repair also has its own Repair This button, which asks you to confirm that one repair, runs only it and checks again. Items that only list steps for you to run have no button. The item The enabled session backend herdr is not installed or not found has a Go to Settings button that opens the Herdr Path row in Settings.
  • The window tells you when this computer has no session backend, and can install Herdr for you on macOS and Windows. Status shows a notice that opens the install page, and the Install Herdr button on the Herdr Path row in Settings opens it too. The page says where Herdr goes and what changes before anything runs, adds Herdr to PATH, explains how to use it and starts it in a new terminal. On macOS the folder goes in the config file of your account shell; if that write fails, the page shows the line to add. On Windows the official install script sets your user PATH. A list in session_backends gets herdr added, and a running server uses Herdr after a restart. The page shows the install log as it runs (the download address, the SHA-256 check on macOS, the command it runs on Windows, where Herdr goes and the version it finds; on Windows each line of the official install script as it prints it). The log stays after the install ends, Copy Log copies it and Retry starts a new log. The Microsoft Store version does not install Herdr: the notice points to herdr.dev/docs/install/.
  • The server now runs quicktui-server doctor once in the background, 30 seconds after it starts, and every doctor run keeps a short summary in doctor/last.json in the state directory. When the last run found checks that need attention (WARN or FAIL), the notification area icon and the menu bar icon show an exclamation mark, their tooltip and menu say how many, and the Status page of the window shows a banner with Open Diagnostics. The mark goes away after a diagnostics run that finds nothing.

Notification area and menu bar

  • On macOS, QuickTUI Server now shows a menu bar icon with the same menu as the Windows notification area icon. Turn it off with quicktui-server config set --tray false.
  • The icon menus now have Open Dashboard, which opens the window. On Windows, left-clicking the icon opens it too, and right-clicking shows the menu. Pair New Device… opens the Pair page of the window, Paired Devices… opens its Status page and Run Diagnostics… opens its Diagnostics page, instead of a console; quicktui-server gui --page accepts pair, status and diagnostics. The tooltip, menu and quit confirmation follow the window language.
  • On Windows displays scaled to 125% or more, the menu of the notification area icon and the confirmation of Quit Server are no longer blurry. quicktui-server.exe now tells Windows that it handles display scaling, so Windows draws them at the full resolution of the display, and the confirmation uses the current Windows style. The notification area icon is also sharper on these displays.
  • The desktop icon is now the green peek monster of the QuickTUI app. It appears as the macOS app icon, the Windows program icon, the About page icon, the notification area icon and the menu bar icon. At 32 pixels and smaller, the icon is pixel art with sharp edges. The menu bar icon is the head of the monster with its two eyes, and it adds an exclamation mark when checks need attention.

macOS

  • QuickTUI Server now comes as a macOS app. Open the disk image, drag the app to Applications, and open it: the first open creates the config, registers the service and adds the quicktui-server command to ~/.local/bin, with no terminal or q.sh. The app needs macOS 13 or later and runs on Apple silicon and Intel.
  • When the macOS app opens and the running server is another version, the window shows a dialog with both versions. If the server runs from a q.sh install, Use This App for the Server moves the service to the app and Keep Current Server leaves it; the app asks again each time it opens. If the server already runs from the app, Restart Server starts the new version. The menu bar icon comes from the running server, so it changes only after the service moves to the app or restarts.
  • When quicktui-server doctor runs from the macOS app and ~/.local/bin/quicktui-server does not point at the app, the warning has an automatic repair (Repair This on the Diagnostics page). The repair makes the command a link to the app. If a program file is there instead of a link, for example from a q.sh install, the repair deletes it, but only while the service does not run that file; otherwise doctor asks you to move the service to the app first.
  • The macOS app has the Server Follows App setting, on by default for a new app install. While it is on, the server starts with the window and stops when you close the window, and it does not start at sign-in. Paired devices disconnect when the window closes. Turn it off to keep the current behavior: the server starts at sign-in and keeps running without the window. The setting is server_follows_app in config.toml.
  • The macOS app updates as a whole app, so its signature stays valid after an update. The update stops and keeps the installed app if the download, its signature or the app's code signature does not verify.
  • On macOS, installing QuickTUI Server with q.sh now adds QuickTUI Server.app to ~/Applications, which opens the window from Finder or Spotlight. Uninstalling removes it.
  • quicktui-server service restart, quicktui-server doctor --fix and the Restart button of the window now start a macOS service that has left launchd, for example after Quit Server. Before, they failed until the next sign-in. quicktui-server config set, relay config changes and quicktui-server upgrade install leave such a service stopped instead of failing; it reads the change at its next start.

Windows

  • quicktui-server.exe can now install itself. Download the file and open it: when the server is not installed yet, the window offers Install, which copies the file to %LOCALAPPDATA%\QuickTUI, creates the config, starts the server at sign-in and adds QuickTUI Server to the Start menu, as the install script does. When a server is already installed there, the window offers Replace and asks first; close the open QuickTUI Server window before you replace it. After the install, the window switches to the installed server: the installed copy opens its own window on the Status page with the same language, and the downloaded file closes. When the installed server does not start at sign-in, the Start at sign-in row on its Status page shows it. Windows may warn about an unrecognized app when you open a downloaded file; choose More info, then Run anyway.
  • Installing QuickTUI Server now adds a QuickTUI Server Start menu shortcut that opens quicktui-server gui, and quicktui-server.exe has an icon. Uninstalling removes the shortcut.
  • The Microsoft Store version now opens the QuickTUI Server window from the Start menu, starts the server, and goes to pairing when no device is paired. Running quicktui-server without arguments still runs the console setup. A new Server Follows App setting, off by default, makes the server start when the window opens and stop when the window closes, instead of starting when you sign in.
  • The server no longer checks or changes the permissions of agent config files and of its own files. Installing hooks no longer removes access that another account has to a file, such as a Claude settings.json shared with the Codex sandbox.
  • quicktui-server doctor no longer warns Cannot read PATH from your login shell (login_shell_unavailable). Windows has no login shell, so the server never read PATH from one there and finds programs as before. The server log at start no longer has this warning either.

Session backends and agents

  • Added hc (herdr-core) as an optional session backend. Its terminals show as workspaces, and you can create and rename workspaces and create, rename and close their windows from the app. To use it, add hc to session_backends in config.toml, or check hc under Enabled Backends on the Settings page of the window. The server never selects hc by itself, and QuickTUI does not install it. hc 0.1.17 or later is required. When the hc core is not running, the server starts it; on Linux, hc may turn on linger for your account when it first starts the core. The settings are hc_bin, hc_session, hc_socket and hc_client_retention (default 5m); the Settings page shows hc_bin as Herdr Core Path and hc_client_retention as Herdr Core Client Retention. quicktui-server doctor checks the hc binary and core when hc is enabled. Opening hc workspaces needs QuickTUI iOS 1.9.6 (409) or Android 1.9.5 (363) or later; older apps, including the iOS version in the App Store when this server was released, list hc workspaces but cannot open them. For the other limits (a whole workspace cannot be closed, the first screen has no scrollback, and terminals that QuickTUI did not create go to a read-only Other Terminals workspace), see server/docs/hc-contract.md.
  • The chat view can now switch model and effort on supported agents: Claude and Codex (model and effort), Grok and Cursor (model), and Pi (effort).
  • dsh plan reviews now reach the app as plan approvals, so you can read a plan of up to 64 KiB in full and approve it or send it back with feedback from your phone. A longer plan stays read-only on the phone and is approved in dsh.

doctor and CLI

  • quicktui-server doctor now lists every installed agent's hook state, config file, and last delivery. When a hook has a problem, it names the file and the cause, and the repair steps follow that cause. It also warns when an installed agent has no QuickTUI hook, which it did not report before.
  • quicktui-server doctor now warns when an agent is installed more than once, for example Codex in both ~/.local/bin and /opt/homebrew/bin. The warning lists each copy with its path and version and names the copy the running server uses; an upgrade from the terminal, such as codex update, updates only the first copy in the terminal's PATH, which may not be that one. The guidance tells you to delete the copies you do not need or to set the copy to use under [agent_bins] in config.toml. With an [agent_bins] entry there is no warning, and the other copies are only listed. The Codex version check now also names the Codex path it checked.
  • quicktui-server doctor now tells you to upgrade an old Codex with codex update, and adds codex app-server daemon update when the old version is the managed Codex daemon. Before, it always showed an npm command, which did not fit other install methods and did not update the daemon.
  • quicktui-server doctor no longer warns No device is paired yet. A server with no paired device is not a problem; the pairing check is now OK and shows paired devices: 0.
  • quicktui-server doctor no longer warns opencode: running sessions use the old hook until restarted when no OpenCode program runs for your account. After an update rewrites the OpenCode plugin, the warning now shows only while an OpenCode program (the TUI, opencode serve, the desktop app, or OpenCode run through node or bun) still runs; an OpenCode started later loads the new plugin. When the server cannot list the running programs, the warning stays until OpenCode delivers a hook from the new plugin, as before.
  • On a host without OpenCode, quicktui-server doctor no longer warns opencode: running sessions use the old hook until restarted. An older QuickTUI could leave ~/.config/opencode behind with only its own plugin and an opencode.json it emptied; the server now removes that folder when it starts and reports OpenCode as not installed. A folder that holds any other file or setting is kept, and OpenCode counts as installed.
  • quicktui-server doctor --json prints the result as one JSON object.
  • quicktui-server doctor --fix --only KEY[,KEY] runs only the repairs you list.
  • quicktui-server pairing devices rename DEVICE_ID LABEL renames a paired device on this server. The name stays on the server; the app does not show it.

QuickTUI Cloud relay

  • When QuickTUI Cloud says this host is not bound to an account (host_not_bound), the server now stops asking for a relay lease instead of retrying forever. It still retries for 10 minutes after relay is turned on, while the app finishes the binding. To try again, turn on the relay again from the app, pair through QuickTUI Cloud again, or restart the server. Pairing through QuickTUI Cloud on a server that already has relay settings for the same region now restarts the relay connection when it is not connected, so the pairing no longer fails while waiting for the relay. A server build without a QuickTUI Cloud address for its relay site (cloud_unconfigured) also stops retrying. Other refusals, such as a used-up quota or an inactive account, are still retried with backoff.

Install with:

curl -fsSL https://quicktui.ai/q.sh | sh -s -- install --channel server2

This command resolves the server from the live server2 channel in server-manifest.json; it is not a tag-pinned historical install.

Assets use these names:

quicktui-server-<platform>-<arch>
quicktui-server-windows-<arch>.exe
quicktui-server-<platform>-<arch>.sha256
quicktui-server-<platform>-<arch>.gz
quicktui-server-<platform>-<arch>.gz.sha256

Installer assets are not included in this server release. q.sh and installer assets are published independently from server2 releases.