A command-line utility to make working with tmux more efficient and user-friendly
  • Go 62.8%
  • Python 35.2%
  • Shell 1.7%
  • Makefile 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-01 14:44:04 +01:00
.github Fix portable native builds and run CI only for code changes 2026-11-01 14:44:04 +01:00
docs Fix portable native builds and run CI only for code changes 2026-11-01 14:44:04 +01:00
pkg Validate macOS metrics and prepare v2.1 release candidate 2026-11-01 00:50:01 +01:00
scripts Fix portable native builds and run CI only for code changes 2026-11-01 14:44:04 +01:00
tests Fix portable native builds and run CI only for code changes 2026-11-01 14:44:04 +01:00
utils Package macOS as one validated universal archive 2026-11-01 01:25:58 +01:00
.gitattributes Prepare stable v2.0.0 release and cross-platform PR validation 2026-10-31 01:14:32 +01:00
.gitignore Reduce release CI duplication and fix native fixture races 2026-10-31 13:27:17 +01:00
.goreleaser.yaml Package macOS as one validated universal archive 2026-11-01 01:25:58 +01:00
CONTRIBUTING.md docs: shorten guides and refresh release instructions 2026-11-01 13:50:30 +01:00
go.mod Implement v2.1 agent orchestration and validated provider lifecycles 2026-10-31 22:08:31 +01:00
go.sum Implement v2.1 agent orchestration and validated provider lifecycles 2026-10-31 22:08:31 +01:00
LICENSE Initial commit 2024-06-05 08:40:45 +00:00
main.go refactor: project overhaul and major 1.0.0 release 2026-05-09 14:46:35 +02:00
Makefile Shorten release notes and avoid release cross-builds on pull requests 2026-11-01 12:48:12 +01:00
README.md docs: shorten guides and refresh release instructions 2026-11-01 13:50:30 +01:00
VERSION Validate macOS metrics and prepare v2.1 release candidate 2026-11-01 00:50:01 +01:00

txm

Persistent terminals. Supervised jobs. One CLI.

Latest release CI status GPL-3.0 license

Get started · Documentation · Downloads · Changelog

txm manages interactive terminals and background work across projects and SSH hosts. Use its built-in native backend or your existing tmux, Zellij, or GNU Screen setup.

What you can do

Capability What you get
Persistent sessions Keep shells running with built-in Ghostty terminal emulation. Detach and reconnect.
Workspace profiles Recreate commands, working directories, and tmux pane layouts from TOML.
Jobs & coding agents Supervise any command, record its exit result, and add opt-in attention hooks.
Keyboard dashboard Search sessions, preview output, and attach without leaving the terminal.
Git worktree tasks Run isolated tasks, review changes, and explicitly apply a checked-out fast-forward merge.
SSH hosts Discover and attach to remote sessions through configured OpenSSH hosts.
Automation Query versioned JSON, stream live events, and wait on job state.
Scoped MCP Read allowlisted local metadata over stdio; optionally create work from reviewed templates.
Optional metrics Sample the managed child’s CPU and RSS with bounded local storage.

Linux and macOS are the primary platforms. See platform and backend support for the full scope.

Get started

Install the latest stable release on Linux or macOS (curl and unzip required):

curl -fsSL https://raw.githubusercontent.com/MohamedElashri/txm/main/utils/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"

You can also use a release archive or build from source.

# Start a persistent shell. Detach with Ctrl+backslash.
txm --backend native create work
txm attach native/work

# Find sessions and preview their output.
txm dashboard --backend native

# Supervise a command without a provider account or project setup.
txm --backend native agent start hello -- /bin/sh -c 'printf "hello from txm\n"; sleep 2'
txm agent wait AGENT_ID --until exited --timeout 5m --fail-on-nonzero

Use the ID returned by agent start in place of AGENT_ID.

Contributing

Read the contributing guide to get involved or report an issue. txm is released under the GPL-3.0 license.