RoversX / ThinkTerm
git clone https://github.com/RoversX/ThinkTerm.git
0.2.9 · 1d ago
A modern terminal with a built-in multiplexer: close it and your sessions keep running. Run shells and tons of AI agents across your machines, then pick them up from desktop, browser, TUI and more. Written in Rust with no UI framework: interface drawn straight on the GPU. No Electron, GPUI or webview.
—
stars, 24h
—
stars, 7 days
+163
stars, 30 days · #1,507
163
★ total
12
forks · 7 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseGPL-3.0
Created2026-10-01 (19d ago)
Last push1d ago
Watchers2
OwnerUser
GitHub topics
agentagent-orchestrationaiai-agentsclaude-codecodexcoding-agentlinuxmacosmultiplayermultiplexerrustterminalterminal-emulatorterminal-multiplexertmuxtuiweztermwindows
Links
- GitHub: github.com/RoversX/ThinkTerm
- Homepage: https://closex.org/thinkterm/
- Releases · Issues · Hacker News mentions
README excerpt
# ThinkTerm **English** · 简体中文 · 日本語 · Français · Deutsch ## 📥 Download **Download here** - Get the latest release 🍺 **Homebrew** (macOS): [code] 🌐 **Website**: closex.org/thinkterm 📚 **Documentation**: docs.closex.org/thinkterm ⭐ Consider starring ThinkTerm! **Your machines fuse into one.** ThinkTerm is an open-source **terminal with a built-in multiplexer, written in Rust**, built on WezTerm. Its mux server runs your shells, tools, and coding agents; desktop, TUI, and browser clients connect to those sessions. Bring local and remote work into one workspace, and return to it from another device. **Platforms:** macOS · Linux · Windows · Web · TUI — iOS and Android in development. https://github.com/user-attachments/assets/7317e369-db86-463f-9379-a8a2ed4b602b Project workspace Agents across machines Session overview Spaces ## A multiplexer at the core A terminal multiplexer manages multiple terminal sessions and lets clients attach to them. In ThinkTerm, **the mux server owns the sessions, tabs, and split panes**. The client displays them and sends your input. - **Detach and return.** Disconnecting a client leaves its server-held sessions running. Reconnect later to continue the same shell, build, or agent task. Explicitly closing a pane is a separate action. - **Access the same sessions from different clients.** Use the desktop, `thinkterm tui`, or the browser to connect to the server. Multiple clients can be attached at once; each offers its own interface to the shared sessions. - **Work across machines.** Each host runs its own mux server. ThinkTerm Connect brings those remote workspaces into the desktop alongside local work, so you can switch machines from the sidebar. Processes continue to run on their original host. - **Update without dropping sessions.** When the desktop updates ThinkTerm on a server, the running mux server hands its sessions to the new version, so shells, builds, and agents keep running. Session persistence depends on the mux server and its host remaining available; it does not restore running processes after a server restart or host reboot. ## Why ThinkTerm Running several agents across different projects quickly turns a tab bar into a guessing game: which session is working, which needs input, and where did that build finish? ThinkTerm puts the project structure and work status beside the terminal, with local and remote work visible together. Rust powers ThinkTerm's terminal core, mux server, desktop client, and TUI. The desktop renders through the GPU without Electron or an embedded web view. Built on WezTerm, this native foundation supports workspace organization, persistent remote sessions, and tools for working alongside agents. ## Workspaces that follow your work | Layer | Purpose | | --- | --- | | **Space** | A working context for local work, a remote mux connection, or a notes Vault. | | **Project** | A project directory within that context. | | **Thread** | A session with tabs and split panes; pin it o