// 01 · the problem
You found Claude Code, and Codex. You moved the work into the terminal. It is faster than you expected. The agent is good company. So you give it more, three things at once, then five.
Then the lid closes on the train and the build dies. The cooling fan starts pleading. Then you alt-tab between six terminal windows trying to remember which agent is waiting for you and which one quietly errored out forty minutes ago.
The terminal is the right shape. The laptop is the wrong place.
// 02 · the idea
The station is your always-on Mac at home or in the office. A Studio, a Mini, a spare MacBook on a shelf. It runs the daemon, owns the terminals, holds the code, hosts the agents. It does not move.
The satellite is a thin desktop app on your laptop. It connects over your tailnet and renders every pane live. It carries no state. Close it on a train. Open it in a hotel. Open it on a different laptop entirely. Every project is exactly where you left it because it never left the station.
For the user, it feels exactly like normal. Just nicely organised. And if an agent needs your attention, it notifies you via a simple stoplight system.
// 03 · what it looks like
A rail of projects on the left. Each project a stack of panes: Claude Code sessions, shells, codex CLIs, anything that wants a terminal. Each pane carries a stoplight: green when the agent is done, orange when it's running, red when it is asking you something.
// 04 · features
- Private connection over Tailscale. Code never leaves the station. No public endpoint, no middleman.
- Automatic folder sync. Station files appear on the satellite as if they were local. No
rsync, noscp. - Crash-proof. Close the laptop and nothing stops. Reopen it and every pane is right where it was.
- Stoplight status. Every pane signals green (done), orange (running), or red (waiting on you).
- Voice dictation. Talk to your agent from the satellite — on-device Whisper or Deepgram — with live text typed straight into the pane.
- Text-to-speech. The satellite reads agent replies aloud and highlights the text as it goes.
- Drag & drop files. Drop images, PDFs, and other allowlisted files onto a pane; they reach the agent via a prompt template you control.
- Clickable links. URLs and file paths are linkified in terminals, transcripts, and rendered docs, with hover tooltips telling them apart.
- Token-usage telemetry. The station records per-turn token and quota usage locally and serves it over
/usageroutes. - Collapsible project rail. Squeeze-drag the rail into a mini rail when you want the pixels back.
// 05 · install
Open Claude Code or Codex in any directory and tell it:
install Reck Connect from github
It clones the repo, reads INSTALL.md, and drives both halves of the install end to end. Satellite first, then the station over Tailscale SSH. Prefer to read the runbook by hand? It is right there.
// 06 · under the hood
| Component | Path | Role |
|---|---|---|
reck-stationd |
daemon/ |
Go HTTP + WebSocket server. Spawns and owns every PTY pane. Installs Claude Code lifecycle hook shims. |
| Reck Satellite | satellite/ |
Electron desktop app. Renders panes via xterm.js. |
| client-core | client-core/ |
Platform-neutral browser plumbing shared by the satellite renderer. |
| proto | proto/ |
Hand-maintained TypeScript and Go wire types. |
| ops | ops/ |
Station and satellite install scripts, LaunchAgent plists, mount watchdog. |
Tech stack: Go + creack/pty + go-chi/chi on the station. Electron + TypeScript + xterm.js + vitest on the satellite. Tailscale on the wire, FUSE-T plus sshfs for project mounts, rsync for project copies, launchd to keep it all alive.
Full walk-through in docs/architecture.md.
// 07 · license
Source under PolyForm Noncommercial 1.0.0. Free to read, run, and modify for noncommercial purposes. Commercial use is not granted.
Issues and pull requests are welcome. Before filing, check INSTALL.md — it lists the recovery paths for most setup snags. This is a side project maintained on a best-effort basis, so triage may be slow. Security disclosures go through SECURITY.md, not the public issue tracker.
// 08 · docs
docs/overview.md· what Reck Connect is and isn'tdocs/architecture.md· components, process model, data flowdocs/getting-started.md· install station and satellite, add a project, open a panedocs/concepts/· projects, panes, modes, behaviors, stoplightdocs/concepts/linux-station.md· run the station on Linux / Raspberry Pidocs/operations.md· running the station day to daydocs/troubleshooting.md· when things go sidewaysdocs/internals.md· daemon internals, image-paste design
Reck Connect is a Reckon project. We help teams reckon with AI.
