Download
Two apps: Shedbell on the Mac that runs your agents (the shed), and Shedbell on the iPhone you carry. Both need Tailscale signed in to the same account.
Mac
Menu-bar app. Streams the window, injects your input, pushes to your phone, and connects your agents.
Download Shedbell 0.1.0- Requires
- macOS 14 Sonoma or later, Apple silicon
- Format
- DMG, 6.8 MB, signed with Developer ID and notarized by Apple
- SHA-256
83893f86649ba2c19c5f66fc81c5a66b9d25b829f70087bb424fabbb6d37946d
Homebrew cask and automatic updates are coming.
iPhone
Native app. Gets the push, shows the live window, sends your taps and typing, and returns your answer to the agent.
Coming soon to the App Store.
- Requires
- iOS 17 or later and the Tailscale app
Setup
About five minutes. The Mac app shows each step with a live status, so you can also just open it and follow along.
-
Tailscale on both devices
Install Tailscale on the Mac and on the iPhone and sign in to the same account. Shedbell uses the Mac's Tailscale identity to decide who may connect: only you.
-
Install the Mac app
Open the DMG and drag Shedbell into Applications before you connect agents; they store the app's path. Shedbell lives in the menu bar. The setup window opens on first launch (later: menu bar icon → Setup…).
-
Allow Screen Recording and Accessibility
Screen Recording streams the window to your phone; Accessibility brings it to the front and passes on your taps and typing. Click Allow… next to each, then enable Shedbell in System Settings. One grant each, remembered across updates.
-
Pair the iPhone
Click Pair iPhone… on the Mac, open Shedbell on the phone, and scan the QR code (the Camera app works too). The code holds only the Mac's tailnet address and name; the phone must be signed in to the same Tailscale account to connect.
-
Connect agents
Click Connect next to Claude Code or Codex. T3 Code picks up both. For anything else, see the manual setup below.
-
Ring it once
From a terminal on the Mac:
/Applications/Shedbell.app/Contents/Helpers/shedbell request "Hello from the shed"Your phone should ring within a few seconds. Tap the notification, look around, tap Done.
Manual agent setup
The MCP server is /Applications/Shedbell.app/Contents/Helpers/shedbell mcp (stdio). It exposes three tools: request_human, wait_for_human, and cancel_human_request. The optional SHEDBELL_AGENT environment variable labels requests on your phone.
Claude Code
claude mcp add shedbell --scope user --env "SHEDBELL_AGENT=Claude Code" -- \
/Applications/Shedbell.app/Contents/Helpers/shedbell mcpCodex
Add to ~/.codex/config.toml. The timeout must exceed the longest wait (600 s).
[mcp_servers.shedbell]
command = "/Applications/Shedbell.app/Contents/Helpers/shedbell"
args = ["mcp"]
tool_timeout_sec = 660
[mcp_servers.shedbell.env]
SHEDBELL_AGENT = "Codex"Other MCP clients
Most clients accept this JSON shape:
{
"mcpServers": {
"shedbell": {
"command": "/Applications/Shedbell.app/Contents/Helpers/shedbell",
"args": ["mcp"],
"env": { "SHEDBELL_AGENT": "My agent" }
}
}
}What the agent sees
request_human({reason, app?, title?, ask?, wait_seconds?}) creates a request, pushes to your phone, and waits (default 300 s, at most 600 s). reason is one line for you, like “GitHub login needed in Chrome”. app and title pick the window; without them Shedbell uses the window that appeared most recently, then the frontmost one. Set ask only when the flow will show a code the agent has to type back, and say what to do if none appears. The result is {id, status, note, answer}; if it is still pending after the wait, the agent calls wait_for_human.
Good to know
- Wire the shed. The Mac's uplink decides how smooth the stream is. Ethernet is best; a weak Wi-Fi link still works, at lower quality.
- Keep the Mac logged in and unlocked. A locked screen can't be streamed; Shedbell keeps the display awake while a request is pending and tells you if the screen is locked.
- Run agents in the GUI session. A CLI started over SSH can't write to the login keychain, so logins may look successful and not stick. Use Terminal, T3 Code, or a GUI app on the Mac itself.
- Passkeys: a passkey QR shown on the Mac is handed to iOS automatically; the hybrid flow needs the phone within Bluetooth range of the Mac.
- Codes on the Mac's screen: press ⌘C on the Mac through the phone and tap “Use copied text” to paste it into the answer field.