Mobile

The session in your pocket

A phone client for a session you left running at your desk. Check on a long task, read what happened, approve what it is waiting on, and send the next instruction from anywhere.

Early access
9:41
NIRA · auth-fix
live · tui attached
E2EE
Auth tests fail on the refresh path. Fix it.
▸read_filesrc/auth/session.py✓
▸greprefresh_token✓
It compares an aware timestamp against a naive one. Patching, then re-running the suite.
▸edit_filesrc/auth/session.py✓
▸pytesttests/test_session.py•••
NEEDS YOUR APPROVAL
git push origin fix/refresh-ttl
Allow
Deny
Reply to the session…

NIRA, in your pocket

A long task should not tie you to your desk. Mobile attaches to the session you already have running and shows you what it is doing — the tool calls, the responses, and the moment it needs a decision from you.

Answer from the phone and the reply lands in that same session, so you pick up exactly where you left off when you sit back down.

A developer checking on a session from their phone
Away from the desk

Write software
from anywhere.

Write code, steer your agent, and answer the questions it needs answered — from a train, a rooftop, or the far side of the room. The session stays on your machine; you just stop being tied to it.

One link out. Everything in reach.

The phone holds a single connection, to one agent. That agent is not a chatbot with opinions — it is sitting on your machine with your shell, your files, and your tools.

MOBILE
in your pocket
END-TO-END ENCRYPTIONnobody can read the session
NIRA
your agent · running on your box
● live session
FULL TOOLSETthe box does the work
shell
run commands
files
read · edit
tests
pytest · vitest
git
branch · push
web
search · fetch
MCP
any tool

End-to-end encryption

The phone talks to your agent and nothing else. The relay carries ciphertext — it never holds a key that would open it, so nobody can read the session.

The agent reaches everything

From there it is the full toolset: a shell, the filesystem, your test suite, git, the web, and any tool you have registered. The phone is the window; the box does the work.

9:41
NIRA MOBILE

No session attached. Open one in the TUI and choose Messenger → Pair to show a code.

PAIRING CODE
4
8
2
9
1
6

Pair, then it follows

Open a session in the TUI and choose Messenger → Pair. It shows a code; you type it once on the phone and the two are bound together.

After that the phone reconnects on its own — with capped backoff, so a dropped connection does not spin your battery — and polls for the next thing the session needs.

What it does

Same session, not a copy

The phone attaches to the session already running in the TUI or GUI. Your work stays where it is — the phone is a window onto it, not a second agent.

A timeline, not a terminal

Tool calls, agent responses and your own messages arrive as one running log. You see what the agent is doing without reading a wall of scrollback on a 6-inch screen.

Answers the blocker, not the chat

When the session needs a human — a risky command, a file overwrite — the approval is pinned with the full command and no pre-selected default.

Your reply drives the session

Type from the phone and the message is injected into the TUI and queued for the agent. You can steer a long task from anywhere, then pick it back up at your desk.

End-to-end encrypted

Hybrid X25519 + ML-KEM-768 key agreement. The relay carries ciphertext it cannot read, so a session running on your machine is not readable by ours.

Runs on your relay

One aiohttp service and a SQLite file. Run it on a NAS, a VPS, or a box in the corner — the session never has to leave your network.