Skip to content
wessPublic

About

The terminal your agent team lives in — run coding agents in panes on a shared bus, on a fast GPU-rendered terminal for macOS and Linux.

Topics

Resources

Stars

14 stars

Watchers

0 watching

Forks

Repository files navigation

Sinclair

The terminal your agent team lives in.

Run a team of coding agents in a window of panes — each reporting whether it's working, blocked, or done — on top of a terminal that stands on its own. GPU-rendered, standards-complete VT, tabs and splits, live-reloading config, 22 themes.

A Sinclair window running several coding agents, one per pane

macOS and Linux · Rust · Apache-2.0

brew install --cask wess/packages/sinclair

Linux install · Documentation · Tutorials · Trailer


The agent workspace

Every other terminal treats a coding agent as just another process that prints things. Sinclair treats it as something you're supervising.

  • Status per pane. Every pane self-reports a semantic state — working, blocked, done, idle — as a colored dot on its tab, rolled up in the Activity panel. sinclair agent-hooks install wires Claude Code's lifecycle to it, so you can see which of six agents is stuck without clicking through six panes.
  • One sandbox for the team. Put the project and every agent in a single container instead of on your host — shared filesystem, one toolchain, and a real boundary around agents whose permission prompts you just turned off. Needs Docker or Podman and nothing else: no VS Code, no devcontainer CLI, no image to pull. The project mounts at its own path, so git worktrees stay valid from both sides.
  • A worktree per agent. Create, open, and remove git worktrees as keybinds or MCP verbs, each opening a tab at the checkout — one isolated branch per agent, with triggers for setup and teardown.
  • Resume, don't restart. With session-restore on, agent panes relaunch resumed, reloading their own session, instead of dropping to a bare shell.
  • MCP server. sinclair mcp exposes the running terminal to any MCP client, so an agent can run commands, read the screen, switch tabs, replay macros, and manage worktrees.

→ Sandbox · Worktree agents · MCP

A terminal that earns the tab

None of the above matters unless the terminal underneath is one you'd use anyway.

  • Fast. GPU rendering with a damage-aware frame path: unchanged rows are reused across frames instead of re-shaped, and a scroll re-homes the rows it already has rather than rebuilding the grid.
  • Complete. Sixel and kitty graphics, the kitty keyboard protocol, OSC 8 hyperlinks, OSC 52 clipboard, synchronized output, bracketed paste, mouse reporting, shell integration with jump-to-prompt, and reflow on resize.
  • A real workspace. Tabs, recursive splits, a command palette, incremental scrollback search, copy/vi mode, broadcast input, and session restore.
  • Yours. One settings.json that reloads the instant you save — fonts, theme, padding, cursor, and keybindings all update live. The settings UI (⌘,) writes back to the same file, so the file stays the source of truth.
  • Extensible without a build step. Plugins are plugin.toml manifests contributing commands, live side panels, webview surfaces, event triggers, and MCP tools your agents can call — sandboxed WASM components that reach only what you grant them.
  • Recording built in. Capture a pane to an asciinema .cast (⌘⇧R), then export it to GIF or MP4 rendered through the app's own text system, with the same ligatures and box-drawing you see on screen.
  • Plus 22 themes, OS tabs (a Debian, Alpine, Ubuntu, Fedora, or Arch userland as a container-backed tab), recorded macros, and buffer export.

→ Feature coverage and known gaps · How Sinclair compares to kitty, Alacritty, Ghostty, and WezTerm

Install

macOS

brew install --cask wess/packages/sinclair

Or download Sinclair.dmg from the releases page and drag it to Applications.

Linux

Builds for x86_64 and aarch64 are on the releases page:

# AppImage — self-contained
chmod +x Sinclair-*-x86_64.AppImage && ./Sinclair-*-x86_64.AppImage

# Debian / Ubuntu
sudo apt install ./sinclair_*_amd64.deb

# Tarball
tar xzf sinclair-*-linux-x86_64.tar.gz

Sinclair draws its own window controls, so it needs a compositor with client-side decoration support (Wayland or X11).

From source

cargo run -p app --release

Configure

Press ⌘, for the settings window, or edit ~/.config/sinclair/settings.json directly — it's JSON with comments, it reloads the moment you save, and it only lists what you change.

{
  "font-family": ["JetBrains Mono", "Apple Color Emoji"],
  "font-size": 14,
  "theme": "catppuccin-mocha",
  "cursor-style": "bar",
  "scrollback-limit": 100000,
  "shell-integration": true,   // OSC 133/7 prompt-jump + cwd inheritance

  // Agents — also under Settings → Agents
  "sandbox-enabled": false,    // run this project + its agents in one container

  "keybind": ["cmd+shift+c=copy_to_clipboard"]
}

A bad value becomes a friendly diagnostic on launch, falls back to its default, and never stops the rest of your settings from loading.

→ Every config key · Keybindings · Themes · Plugin tutorial

Documentation

The full documentation site covers install, configuration, keybindings, themes, plugins, and hands-on tutorials from your first split to a parallel agent team. In this repo:

docs/sandbox.md The shared project container
docs/compare.md Sinclair vs. kitty, Alacritty, Ghostty, WezTerm
docs/parity.md Terminal feature coverage and gaps
docs/libsinclair.md Embedding the terminal in your own gpui app
docs/roadmap.md Built vs. planned
docs/release.md Signing, notarization, cutting releases

License

Apache License 2.0 · ♥ Sponsor this project

About

The terminal your agent team lives in — run coding agents in panes on a shared bus, on a fast GPU-rendered terminal for macOS and Linux.

Topics

Resources

Stars

14 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages