Tmux Rc banner
querystory querystory

Tmux Rc

Development community

Description

Watch and control whatever runs in a tmux pane — Codex, Claude Code, Gemini CLI, OpenCode, or any program that prints text — from your phone. It reads the terminal, not a vendor API.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

tmux-rc

Watch and control terminal AI agents (Claude Code, Codex, Gemini CLI — or any program) from your phone. A small local service reads a `tmux` pane, figures out what's happening, and shows a phone-native dashboard: status at a glance, alerts when an agent is blocked on a question, tappable answers, and a snapshot timeline.

The tmux-rc dashboard on a phone, showing the agent dock and the focused agent's card

Every pane on the tmux server, on your phone. The card summarizes what the agent is doing — here, mid-session on this repo.

Tap + to start a new agent in a new window, without touching the machine:

The launcher menu open over the dashboard, listing the agents available to start

**Why not `/remote-control`?** Claude Code's remote control is locked to the Anthropic API (no Bedrock/Vertex) and only drives Claude Code. tmux-rc observes the *terminal*, so it's vendor-agnostic on both axes — any agent, any model provider for the summarization pass. See [`docs/PRD.md`](docs/PRD.md) and [`docs/design/overview.md`](docs/design/overview.md).

**Status: proof of concept.** The all-pane watch/control slice works end to end, across every pane on the tmux server: watch → classify → phone card → detect a waiting prompt → tap → answer round-trips into the pane. Remaining PRD milestone-2 items (floating waiting panes to the top) are next; the PRD's non-goals stay out of scope.

Run

Prereqs: `tmux`, Python 3.12+, [`uv`](https://docs.astral.sh/uv/), and Google Cloud credentials for Vertex (the Gemini Flash Lite classification pass). Because the daemon runs unattended for long stretches, it authenticates with a long-lived **service-account key** rather than developer ADC (which expires and needs a browser reauth — see [docs/design/durable-vertex-auth.md](docs