Documentation pages

REFERENCE

Dashboard

Run tether with no arguments to open the dashboard in the terminal.

Terminal
tether

Tabs

Switch tabs with the number keys, Tab, or a mouse click.

TabKeyShows
Overview1Dotfiles, packages, machines, recent activity, a chart of sync commits per day, and the daemon log
Files2Synced dotfiles with file history, diffs with line numbers, restore from a commit or a backup, and sharing
Packages3Packages by manager with the profiles of each package, manifest history, failed installs, install, and uninstall
Machines4A card for each machine: id, profile, OS, Tether version, packages, last sync, online/idle/stale state, key trust and pending commands. The details of another machine list its commands and packages, and change that machine by fleet command
Config5Config editor with toggles, validated text fields, list editing, and the package security settings
Security6The Inbox: held packages with their reasons, source machine, commit and OSV advisories, machine keys that wait for trust, and the trusted machines

A machine is online when its record is at most 90 minutes old. A running daemon saves an unchanged record once an hour. A record from 90 minutes to 24 hours old shows the machine as idle. After 24 hours without an update, the card shows the machine as stale. A machine that still runs 1.x shows "on 1.x".

The header shows this machine, its profile, the daemon state, and a spinner while a sync runs. When items wait in the Inbox, the header shows ⚑ Inbox <count>. The badge is red when an item is malicious.

Keys

The footer shows the most important keys of the current tab. When it has no room for all of them, it shows ? more. Press ? to see every key of the current screen. You can also click a tab, a row or a key hint, and scroll lists with the mouse wheel.

  • Enter opens: a section, a history, a diff, details, or a value to edit
  • Esc closes, collapses or goes back. It never quits. Press q or Ctrl+C to quit
  • x removes, uninstalls, rejects or untrusts. It always asks first

Every tab

KeyAction
sSync now
dStart the daemon, or stop it (asks)
rRead the state again
Ctrl+KCommand palette: search actions, tabs, files, and packages
Tab, 1-6Next tab, or go to a tab
?Help: every key of the current screen
EscClose, collapse or go back. Never quits
q, Ctrl+CQuit
clickSelect; click again to open

Overview

KeyAction
EnterOpen the whole daemon log, read-only
j/k, ↑ ↓Scroll the file list

Daemon log

KeyAction
j/k, ↑ ↓Scroll one line
PgUp, PgDnScroll one page
g, Home / G, EndGo to the oldest / newest line
EscClose the log

Files

KeyAction
EnterExpand a section, open file history, show a diff
EscClose the diff, then the history
j/k, ↑ ↓Move
RRestore the file to the selected commit (asks)
bRestore the file from a backup (asks)
iImport a dotfile from another profile
tTurn sharing on or off for the file
xRemove the file from this profile (asks)

Packages

KeyAction
EnterExpand a manager; show a history diff
EscClose the diff, the history, then the list
j/k, ↑ ↓Move
tShare: pick the profiles that install the package
xUninstall the package (asks). Other profiles keep it. On a failed install, stop it on this machine. When other machines have it, first pick the machines
iInstall a package that another machine has. When other machines lack it, first pick the machines
hOpen the manager's manifest history
RRoll back to the selected history entry (asks)

Machines

KeyAction
EnterOpen or close the machine's details
EscClose the details
h/j/k/l, ← ↓ ↑ →Move between cards
pSet the machine's profile. Another machine gets it by fleet command (asks)
aTrust the machine's key (asks)
ATrust the machine's key here and on every machine that runs commands (asks)
xUntrust the machine's key (asks)
DRemove an old id of this machine (asks)

Machine details (another machine)

KeyAction
Enter, EscClose the details
j/k, ↑ ↓Move in the list of commands and packages
h/l, ← →Open the details of the previous or next machine
xUninstall the selected package on that machine (asks)
iInstall a package on that machine
pSet that machine's profile (asks)
cCancel a pending command that this machine sent (asks)
aTrust the machine's key here (asks)
ATrust the machine's key here and on every machine that runs commands (asks)
DRemove an old id of this machine (asks)

Config

KeyAction
EnterTurn on or off, edit a value, or open a list
j/k, ↑ ↓Move

Config list

KeyAction
aAdd an item; Enter saves it, Esc cancels
x, DeleteRemove the item (asks)
tDotfiles: create the file when it is missing
EscBack to the Config list
j/k, ↑ ↓Move

Security

KeyAction
aApprove and install; a machine key or a failed signature asks first
xReject (asks)
EnterOpen or close the details
EscClose the details
j/k, ↑ ↓Move
AApprove all safe packages (asks)
MApprove all from the item's machine (asks)

Questions

These actions ask first: restore, rollback, uninstall, remove, reject, trust, untrust, approve all, stop the daemon, and an approval that needs a second look, such as a machine key, a failed signature, or a package that OSV could not check.

  • A question ignores y for 0.4 seconds after it opens. Until then, it shows dim buttons with a countdown. A y that you typed for another screen cannot accept it. Cancel and scroll keys work at once
  • After that, only y accepts
  • n, Esc and Enter cancel. A click on the tab under the question does not accept it

Themes

On a terminal with true color, the dashboard uses Catppuccin Mocha or Latte. It picks one from the terminal background. Other terminals get a 16-color theme. To choose a theme, set dashboard.theme:

Terminal
tether config set dashboard.theme mocha   # mocha, latte, ansi, or auto