Tinche

Xcl — Development skill for Claude Code

Development community

A tabbed tmux workspace for coding agents (Claude Code, Codex).

How to install Xcl

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

What Xcl does

A tabbed tmux workspace for coding agents (Claude Code, Codex).

Alternatives in Development

  • OpenAI Codex CLI — (Rust implementation) 67.8k ★
  • Vibe Kanban — Get 10X more out of Claude Code, Gemini CLI, Codex, Amp and other coding agents 23.5k ★
  • IPolloWork — Enterprise-grade, local-first Agent Workbench for people and agent teams 4.9k ★

README

xcl

A tabbed terminal workspace for coding agents, built on tmux.

`xcl` gives each git repo its own tmux session, and binds keys that open Claude Code or Codex tabs inside it. One repo, one workspace, as many agent tabs as you want — and a different repo gets a clean slate.

It runs on a dedicated tmux socket with its own config, so your personal tmux setup is untouched: your own `tmux` keeps stock defaults and never sees these sessions, options, or keybinds.

Install

curl -fsSL https://raw.githubusercontent.com/Tinche/xcl/main/install.sh | sh

Installs `xcl` and `xcl-tab` to `~/.local/bin`, and `tmux.conf` to `~/.config/xcl/`. Re-run it to upgrade. From a clone, `./install.sh` installs the local files instead of downloading.

Use

cd ~/code/my-repo
xcl

That creates the workspace for `my-repo` with one Claude tab and attaches to it. Run `xcl` again — from anywhere in the repo, including subdirectories — to come back to it. `xcl ` targets another repo.

Keys

`prefix` is tmux's, `Ctrl+b` unless you change it.

key action
prefix c new Claude tab
prefix r new Claude tab, resume a past session
prefix C new Codex tab
prefix R new Codex tab, resume a past session
prefix S new shell tab
prefix g lazygit — one per repo, at the repo root
prefix z open the repo in your editor
prefix s switch repo
prefix M-r reload the config
Alt-1Alt-9 jump to tab
Alt-← / Alt-→ previous / next tab
Alt-t / Alt-w new tab / close tab

Tabs are named after what they run: `claude`, `claude 2`, `claude↻` for a resumed one, `cx` for Codex, `sh`, `git`. A tab opened outside the repo root is tagged with its subdirectory, like `claude:staging`.

The `Alt` keys need your terminal to send Option/Alt as Alt. In Ghostty on macOS that is `macos-option-as-alt = true`. The `prefix` binds always work.

Configure

Set these before launching `xcl`;