Skip to content

Install Tealhand Host on Windows

Tealhand Host is the service on a computer that checks and runs the commands your phone signs. This page installs it on Windows 11 x64 from source. It runs as you, never as an administrator or as SYSTEM.

  • Windows 11 x64.
  • Git and Rust through rustup. The repository pins Rust 1.99.1 in rust-toolchain.toml.
  • The Visual Studio C++ Build Tools (the “Desktop development with C++” workload), which Rust needs to link.

In PowerShell:

Terminal window
git clone https://github.com/tealvpn/tealhand
cd tealhand
rustup toolchain install
cargo build -p tealhand-host

The program is target\debug\tealhand-host.exe. Run the commands below from the tealhand folder, or copy the file where you like. tealhand-host --help lists every command; the full list is in the command line reference.

%LOCALAPPDATA%\Tealhand\host

That is the data folder: the signed device list, the rules, the settings, the shared folders list and the activity journal. The computer’s own key is in the Windows Credential Manager, under the name tealhand-host, not in this folder. Add --data-dir <folder> to any command to use another folder. The full list of files: Headless computers.

Connect first. connect starts a Host just for connecting, so quit any running tealhand-host first.

Terminal window
.\target\debug\tealhand-host.exe connect

It prints a QR code in the terminal and a line of text under it. Open Tealhand on your phone, choose “Scan the code” and scan it. If the camera can’t read it, choose “Paste the code” on the phone and paste the text line. The phone and the computer must be on the same network. The code works for 10 minutes.

The phone shows a check code, and the terminal asks:

"Pixel 8" wants to connect to this computer.
Check code: ABCD EFGH. Connect only if the phone shows the same code.
Connect? [y/N]

Type y and press Enter only if both codes are the same. The terminal then says Connected to "Pixel 8". Start Tealhand Host with: tealhand-host run. How and why both sides confirm: Connecting a phone.

Then start the Host and leave it running:

Terminal window
.\target\debug\tealhand-host.exe run

It stops cleanly on Ctrl-C. Closing the terminal window stops it too. It logs one line per event to the terminal. Remote control is on after a fresh install, so the phone can use the computer right after connecting.

To use a relay, give connect the choice once and run reuses it:

Terminal window
.\target\debug\tealhand-host.exe connect --relay https://relay.example.com

With a relay that uses a self-signed certificate, add --relay-pin sha256:<64 hex digits>. See Install Tealhand Relay.

Tealhand Host listens on one UDP port, the one iroh uses. The first time it runs, Tealhand Host picks a free port and saves it in the data folder. Every later start uses the same port, so the address in a connection QR code stays valid when you run the Host. To choose the port yourself, add --port <n> (1 to 65535) to connect or run. If the saved port is taken, Tealhand Host uses a free one and saves that one.

The first time a program starts listening, Windows Defender Firewall may ask whether to let it through. Allow it on private networks: the phone reaches the computer on your home or office network through that port. Without it, connecting over the local network cannot work, and the phone can reach the computer only through a relay.

If you chose the port yourself and want an explicit rule, run this once in an administrator PowerShell (replace 41234 with your port):

Terminal window
New-NetFirewallRule -DisplayName "Tealhand Host" -Direction Inbound -Protocol UDP -LocalPort 41234 -Action Allow -Profile Private

Nothing else listens: no TCP port and no local control port.

Folders for the phone’s Files screen are shared at the computer, while the Host is stopped: Share folders.

Switch remote control off, or forget the phone

Section titled “Switch remote control off, or forget the phone”
To Run (with the Host stopped)
Keep remote control off from the next start tealhand-host remote off
Forget the connected phone, for a lost or replaced phone tealhand-host unpair

Only this computer can switch remote control on again, and that switch comes with the Tealhand app. See Remote control on and off and Lost or stolen phone.

Pull the repository, build again, and start the new tealhand-host.exe. The data folder keeps your connected phone, rules and shared folders.