Tealhand

Your devices, in your hand.

Approve what your AI agent wants to run. Wake a sleeping computer. Send a file between networks. All from your phone.

free · open source · your servers or ours

claude — ~/app — Lab PC
~/app $ claude "fix the failing date test"
● I changed parseDate() in src/date.ts.
● Bash(npm test)
  Waiting for approval on your phone…
Lab PC · Claude Code

Claude wants to run npm test in ~/app on Lab PC

Approve asks for your fingerprint. No answer in a minute means no.

Three things, from your phone

Approve your agent from anywhere

Claude Code asks before it runs a command or edits a file. With Tealhand, that question goes to your phone. Approve with your fingerprint, or decline. No phone online, or no answer within a minute, means no.

Connect Claude Code
Claude Code · ~/appLab PC · waiting for you
1 to approve
Claude Code · ~/siteStudio PC · working
12 min
Claude Code · ~/apiLab PC · finished at 14:02
done

Wake a sleeping computer

Wake-on-LAN only works inside one network. Tealhand takes the signal there: an always-on device at home, like a Raspberry Pi, wakes its sleeping neighbour when you ask. No port forwarding.

Make a waker
Lab PCAsleep · can be woken by Pi
PiOnline · on the same network
Studio PCOffline · no waker on its network

Send a file between networks

Share a file from any app on your phone to a folder on your computer. You on mobile data, the computer at home: it goes through a relay, end-to-end encrypted.

How files work

Set it up in a few minutes

First, start Tealhand on the computer.

tealhand-host connect
"Pixel 8" wants to connect to this computer.
Check code: ABCD EFGH. Connect only if the phone shows the same code.
Connect? [y/N] y
Connected to "Pixel 8". Start Tealhand Host with: tealhand-host run

Then scan the code with your phone.

New computer

Check code ABCD EFGH

Connect only if Lab PC shows the same code.

Yes, connectCancel

Then connect Claude Code.

tealhand-host agent setup claude
Connected Claude Code (~/.claude/settings.json). Every tool call it would ask you about now goes
to your phone: approve it with your fingerprint. Denied when you decline, when the phone doesn't
answer within a minute, or when Tealhand isn't running here.

What it can and can't do

Tealhand controls real computers, so the limits are built in, not promised. The code is open: you can check every line below.

It can

  • Show a computer's status, its programs and the folders you share.
  • Run actions from one fixed list. Each one is a card you confirm.
  • Ask for your fingerprint or PIN before anything risky.
  • Pass your agent's questions to your phone and your answer back.

It can't

  • Obey a device that isn't on your own device list.
  • Act on text from a web page, a file or an agent. That text is data, never a command.
  • Delete or wipe from chat. Destructive actions are never offered there.
  • Let our servers read your traffic. Relays pass it end-to-end encrypted.

One honest note: there is no release yet. Today you build Tealhand from source, and it has not had an outside security audit. Apps under Apache 2.0, the relay under AGPL. Read the code.

Free

Run by n0, the makers of iroh, the network layer Tealhand is built on. Nothing to set up: pick them on the phone and you can reach your computers from anywhere.

They pass encrypted traffic and can't read it.

How relays work

Free

Run Tealhand Relay on any server with a public address. It serves only the devices on your device list and holds no key. You pay for the server, nothing else.

The relay server is open source under AGPL.

Self-hosting guide

Teal Pro

Teal's own faster relays, for people who already use Teal Pro. You sign in with your Teal account once; Tealhand gets a pass, never your password.

Planned. Push notifications stay free for everyone, whichever relay you pick.

Ask on Discord

On one network you need no relay at all. You can switch at any time in the phone's Settings, then Network.

Get Tealhand

Free, no account. Signed installers come with the first release. Until then, each page shows how to build it in a few commands.