Skip to content

Repository files navigation

ClawTab - Tmux-Native Agent Control Plane

Run Claude Code, Codex, OpenCode, and shell jobs in durable tmux panes, then control the same sessions from your terminal, desktop, web, or phone.

ClawTab managing live agents in tmux

Website · Documentation · Tmux architecture


Tmux Is the Workspace

ClawTab keeps agents in real tmux panes instead of hiding them inside a desktop-only runtime. Your process, working directory, scrollback, and terminal state survive app restarts and remain available through normal tmux commands.

A headless daemon adds the agent-aware layer: schedules, session metadata, task titles, question detection, auto-yes, notifications, and Remote connections. The terminal, desktop app, and Remote clients all connect to the same pane IDs, so changing interfaces does not restart or duplicate an agent.

Two Codex agents working side by side in the same tmux window

Two Codex agents work side by side in the same tmux window.

Features

  • Durable tmux sessions - Agents remain ordinary, inspectable tmux panes with their real terminal state intact.
  • Headless control plane - The launchd daemon keeps jobs, monitoring, relay connections, and auto-yes running without the desktop window.
  • Agent-aware tmux UI - See working, waiting, and idle states; replace generic process names with useful task titles.
  • Terminal-native controls - Use cwtctl, cwttui, or the tmux popup to manage agents and scheduled jobs.
  • Session continuity - Open the same pane in tmux, the desktop app, web Remote, or mobile without starting a new process.
  • Multiple providers - Run Claude Code, Codex, OpenCode, Antigravity, and normal shells in one workspace.
  • Scheduled jobs - Create prompt, project-folder, and binary jobs with cron expressions or calendar-anchored weekly recurrences.
  • Remote answers - View live output and answer agent questions from web, mobile, push notifications, or Telegram.
  • Secrets management - Inject selected macOS Keychain or gopass secrets into jobs without storing them in project files.
  • Optional visual workspace - Arrange split panes and use the agent Mind Map in the Tauri desktop app.

Small Bundle

ClawTab is built with Rust and Tauri. The desktop bundle is under 20 MB, while the daemon handles background work independently of the GUI.

Work from Tmux

The bundled tmux plugin adds agent status, task-based pane names, auto-yes controls, session forking, skill search, secret injection, and a terminal sidebar.

The daemon publishes agent activity to tmux without replacing your theme. Working windows get a cyan activity marker, agents asking for input get a yellow attention marker, and present-but-idle agents get a green check.

Tmux status bar showing working and idle activity indicators across AI agent windows

Activity indicators make working, waiting, and idle agent windows visible before you enter them.

Add the plugin to .tmux.conf:

run-shell /path/to/clawtab/tmux-clawtab/clawtab.tmux

Then reload tmux:

tmux source-file ~/.tmux.conf

Default Keybindings

Key Action
prefix + E Open a floating ClawTab menu over the current pane
prefix + y Toggle auto-yes for the current agent pane
prefix + o Open the current pane in the ClawTab desktop app
prefix + s Search skills and insert a skill command
prefix + f Fork the current agent session into a new pane
prefix + ` Open the ClawTab terminal sidebar

The floating menu has Home, Secrets, and Skills tabs. It also shows provider usage, session start time, first and latest queries, session ID, and restore context. Each agent pane can have its own floating menu, and the rest of tmux remains interactive while it is open. Opening the menu again from the same agent focuses its existing floating pane.

The floating menu uses 95% of its target pane by default. Customize its size or restore the original client-modal popup in .tmux.conf:

set -g @clawtab-menu-size 85
# set -g @clawtab-menu-mode popup

Floating panes require tmux 3.7 or newer. Older versions fall back to the original popup.

All keys can be customized through tmux options.

Control from the CLI

cwtctl talks directly to the daemon, so the desktop app does not need to be open.

cwtctl daemon status
cwtctl jobs list
cwtctl jobs run my-project/review
cwtctl jobs status
cwtctl agent info %16
cwtctl agent auto-yes toggle %16

For an interactive agent job, cwtctl jobs run waits for the daemon to publish the tmux pane and then attaches your terminal to it. If you are already inside tmux, it selects the new pane in the current client.

cwtctl command groups for agents, jobs, panes, secrets, Telegram, and the daemon

Optional GUI and Mind Map

ClawTab works headlessly through tmux, the daemon, and cwtctl. The macOS GUI is optional: open it when you want visual split workspaces or a Mind Map of running Claude Code, Codex, and OpenCode agents. Click an agent in the map to open its live tmux terminal, then close the GUI without stopping the session.

ClawTab Mind Map with agent hubs and live terminal windows

Read more in the Mind Map article.

Remote Control

  • Live terminal - View and control the same tmux pane from the web or mobile app.
  • Automatic question detection - Detect when supported agents are waiting for input.
  • One-tap answers - Render answer choices as buttons and send the response to the pane.
  • Multi-agent support - Follow questions and output across providers, projects, and tmux windows.

ClawTab mobile app showing remote agent controls

The daemon owns the tmux sessions and connects to the Rust/Axum relay. Web and mobile clients receive terminal output and send input through the relay back to the original pane.

tmux pane <-> ClawTab daemon <-> Relay server <-> Web or mobile client

How It Works

  1. Start in tmux - Run an agent normally or launch a configured job through cwtctl, cwttui, the desktop app, Telegram, or a schedule.
  2. Discover the session - The daemon associates provider metadata, activity, questions, and a useful task title with the pane ID.
  3. Keep it alive - tmux preserves the process and terminal state while the daemon keeps schedules and integrations running.
  4. Open it anywhere - Attach through tmux or view the same pane from the desktop, web, or mobile interface.
  5. Answer from any client - Input is routed back to the original pane, so the agent continues in one durable session.

Save Costs

Mix providers without reorganizing your workspace or giving up session visibility:

  • Use Claude Code when it fits the task and current allowance.
  • Switch to Codex when another model or subscription is a better fit.
  • Keep OpenCode available as an additional provider and model gateway.

Install

Homebrew

brew install --cask tonisives/tap/clawtab
cwtctl daemon install
cwtctl daemon status

The daemon starts at login through launchd and continues running independently of the desktop app.

Build from Source

Requires macOS 10.15+, Rust, Node.js, pnpm, and tmux.

git clone https://github.com/tonisives/clawtab.git
cd clawtab
pnpm install
cargo tauri build
Binary Purpose
clawtab-daemon Headless scheduler, agent monitor, relay client, PTY owner, and IPC server
cwtctl CLI for agents, jobs, panes, secrets, Telegram, and daemon lifecycle
cwttui Terminal job interface built with ratatui
clawtab Optional Tauri GUI for split workspaces, Mind Map, settings, and history

Runtime Dependencies

  • tmux
  • At least one supported agent CLI, such as Claude Code, Codex, or OpenCode

iOS App

Download ClawTab from the App Store.

Web Remote

Access the hosted Remote at remote.clawtab.cc.

Relay

The relay is required for Web Remote and the iOS app. You can deploy it yourself or use the hosted service at relay.clawtab.cc.

Documentation

Full documentation is available in the docs folder or at clawtab.cc.

License

ClawTab is available under the MIT License.

FAQ

Why Not Just Use Tmux?

Tmux remains the workspace. ClawTab adds the agent-specific control plane around it: task titles, working and waiting states, question detection, auto-yes, schedules, secrets, notifications, session search, and access from desktop or mobile. You can keep using normal tmux commands and remove ClawTab without losing a proprietary session format.

Do I Need to Keep the Desktop App Open?

No. The daemon runs through launchd and owns background scheduling, monitoring, notifications, and Remote connectivity. The desktop app is an optional visual client.

What Is the Difference Between OpenClaw and ClawTab?

ClawTab includes autonomous jobs, schedules, and remote notifications, with an emphasis on keeping agent sessions in tmux and making those same panes available through terminal, desktop, web, and mobile interfaces.

Why Not Just Use Claude Code?

ClawTab does not replace the agent CLI. It lets Claude Code, Codex, OpenCode, and normal shells share one manageable tmux workspace, so you can choose the best provider for each task.

What Is the Pricing?

The desktop app and local tools are MIT licensed and free. You can self-host the relay for free or use the hosted Remote subscription.

Releases

Sponsor this project

Contributors

Languages