Control your agents from your phone.
Pair your phone over Tailscale with a one-use link. Then follow your agents, answer what they ask, and revive or start them, while they keep running on your computer. The companion runs in your phone’s browser, and a native iPhone app is coming.
Settings
Remote accessProjects this phone can access
atlasrelayharborhttps://studio-mac.example.ts.net/connect#k=…Copy linkCancel linkNeeds you2
Running2
Done today1
Connect to the computer that shared this link. Your work stays on that computer.
Answer what they ask.
Questions and approvals from your agents wait in Inbox. Your answer settles them on the computer, and the agent goes back to work.
Use the phone appA place for what needs you.
Choose the small screen layoutatlas Codex
Codex has a question
LayoutWhich layout should the small screen use?
AnsweredCompactCodex has your answer
Run the migration dry runrelay Claude Code
Claude Code wants to run a command
node scripts/migrate.js --dry-runClaude Code approvals, on your phone.
Turn them on, and a Claude Code permission request waits up to 15 seconds for your phone. With no answer, Claude Code asks in its terminal as usual.
Turn on phone approvals> Dry-run the new migration before we ship it.
I'll run the migration in dry-run mode first.
Bash(node scripts/migrate.js --dry-run)
⎿ Dry run: 3 tables checked, 0 rows changed
The migration is safe to run. No rows would change.
A place for what needs you.
Run the migration dry runrelay Claude Code
Claude Code wants to run a command
node scripts/migrate.js --dry-runApprovedAllow onceSent to Claude Code
Read every conversation.
A conversation reads as it does on the Mac: your prompts, the agent’s replies, and its work folded into one line that opens to every step.
Read on the phoneSearch still returns sessions we deleted last week. Find out why.
- Searched
cacheKey src/ - Read
src/cache.ts - Read
src/index/read.ts - Ran
pnpm test cache
A cache key is only the session id and a hash of its inputs, so rows from before the schema change still match.
return `${SCHEMA_VERSION}:${id}:${hash}`;Revive or start an agent.
Revive a paused agent with its own settings, or start a conversation in a project you shared. Pause and Stop are in each agent’s actions.
Agent actionsrelay3
Start something on your computer.
Start conversationThe agent runs on your computer, with its configured permissions.
- Use per link
- 1
- Each connection link connects one phone. Remove a phone any time under Allowed devices.
- Until a link expires
- 10 min
- Then make another one in Settings, Remote access.
- Ports open to the internet
- 0
- Tailscale Serve reaches only the devices on your tailnet.
- For a phone approval
- 15 s
- Then Claude Code asks in its terminal.
More of Hansard
Personal Sync
Keep your whole archive in storage you own, with every computer you use in step with the others.
Teams
Share whole conversations from the repositories you choose with your team, under rules every member can read.
Sharing
Send one conversation as a web page anyone can open, a PDF, Markdown, or a trajectory file.
Insights
Rank models on your own work with your own Pareto frontier, and see what you pay against list price and how the work turns out.
Running and Review
Run each project's agents from one place, with tabs, changes, and terminals, and answer everything that waits on you in one queue.
Reading a run
Follow any agent run step by step: a trace of its calls, the agents it started, its context and cost, and Create PR.
Graph
See how your projects, conversations, files, commits, and decisions connect, and the evidence behind each link.
Slack bot
Start Claude Code and Codex runs on your Mac from Slack, approve each one in its thread, and get digests where you choose.
AI assistants
Let Claude.ai, ChatGPT, and other assistants search your agent conversations and memories, with your approval on your Mac.
Accounts
Keep every Claude and Codex account in one place with its limits, route each conversation to one with allowance left, and cap API key spend.
Quality of life
Keep working when an account reaches its limit, and give every agent the MCP servers and skills you installed in one.
Put it on the record.
