Run Claude Code, Codex, OpenCode, and shell jobs in durable tmux panes, then control the same sessions from your terminal, desktop, web, or phone.
Website · Documentation · Tmux architecture
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 work side by side in the same tmux window.
- 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.
ClawTab is built with Rust and Tauri. The desktop bundle is under 20 MB, while the daemon handles background work independently of the GUI.
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.
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.tmuxThen reload tmux:
tmux source-file ~/.tmux.conf| 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 popupFloating panes require tmux 3.7 or newer. Older versions fall back to the original popup.
All keys can be customized through tmux options.
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 %16For 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.
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.
Read more in the Mind Map article.
- 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.
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
- Start in tmux - Run an agent normally or launch a configured job through
cwtctl,cwttui, the desktop app, Telegram, or a schedule. - Discover the session - The daemon associates provider metadata, activity, questions, and a useful task title with the pane ID.
- Keep it alive - tmux preserves the process and terminal state while the daemon keeps schedules and integrations running.
- Open it anywhere - Attach through tmux or view the same pane from the desktop, web, or mobile interface.
- Answer from any client - Input is routed back to the original pane, so the agent continues in one durable session.
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.
brew install --cask tonisives/tap/clawtab
cwtctl daemon install
cwtctl daemon statusThe daemon starts at login through launchd and continues running independently of the desktop app.
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 |
- tmux
- At least one supported agent CLI, such as Claude Code, Codex, or OpenCode
Download ClawTab from the App Store.
Access the hosted Remote at remote.clawtab.cc.
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.
Full documentation is available in the docs folder or at clawtab.cc.
- Quick Start
- CLI and TUI
- Architecture
- Remote Access
- Job Types
- Secrets
- Telegram
- Workspace Sharing
- Vim and tmux Navigation
- Self-hosted Deployment
ClawTab is available under the MIT License.
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.
No. The daemon runs through launchd and owns background scheduling, monitoring, notifications, and Remote connectivity. The desktop app is an optional visual client.
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.
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.
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.