Skip to content

Repository files navigation

Hangar.AI

Run Claude Code, Codex and friends side by side, in one window.

Latest release Windows, macOS and Linux MIT

Download

Get the latest release, under Assets:

  • Windows — the .exe, 64-bit. It installs for you alone and asks for no administrator rights. Being unsigned, SmartScreen shows a warning on first run: More infoRun anyway. WebView2 is required and ships with Windows 11.
  • macOS.dmg, one universal build for Apple Silicon and Intel. Signed and notarised with an Apple developer account, so it opens on a double-click like anything else.
  • Linux.AppImage to run without installing, or .deb / .rpm for a package manager. WebKitGTK 4.1 is required and every current distribution packages it, as libwebkit2gtk-4.1-0 on Debian and Ubuntu or webkit2gtk4.1 on Fedora.

The app updates itself from there, so this is a one-time download.

What it does

  • Tiling panes — 1, 2, 4 or 8 real terminals. Every split resizes on its own, and each pane picks its shell from whatever is installed: PowerShell, cmd, Git Bash, WSL, MSYS2 and Nushell on Windows; zsh, bash, fish, Nushell and pwsh everywhere else — opened as login shells on macOS, so a pane starts with the PATH your terminal has.
  • Workspaces — a project directory plus its pane layout, saved. Reopen one and every pane comes back with its agent.
  • Session resume — agents relaunch on the conversation they were in, with no session ids for you to track.
  • Shared task board — a kanban board per workspace that the agents themselves read and write, over MCP.
  • Broadcast — one instruction, sent to every pane at once.
  • Dictation — hold a key, speak, and it is typed into the focused pane. Runs on this machine through whisper.cpp, on a checkpoint downloaded once: 99 languages, no key, no connection, and nothing recorded leaves the computer. Groq's hosted Whisper is there as a fallback, and an optional pass can tidy the transcript — dropping the hesitations and spelling useEffect the way you would type it.
  • 32 themes — ported from the most-installed VS Code palettes, restyling the whole window rather than just the terminals. Font, size, line height, cursor and padding adjust live.
  • Rebindable shortcuts, and an interface in English or French.
  • Discord Rich Presence — off unless you turn it on.

The task board

Every workspace gets a board, and agents work it over MCP:

Tool What it does
board_list_tasks Read the current state of the work
board_next_task Highest-priority free task whose dependencies are done
board_claim_task Take ownership — fails if someone got there first
board_create_task File work for another agent, with priorities and dependencies
board_update_task Move between columns, edit, or release
board_comment_task Leave notes, which is how agents talk to each other
board_delete_task Remove a task

Claims are atomic: every change goes through a single lock, so two agents racing for the same task cannot both win it.

Connecting agents

Settings → MCP registers the server in whichever tools it finds, each in its own format:

Tool File
Claude Code .mcp.json
Codex ~/.codex/config.toml
Gemini CLI ~/.gemini/settings.json
Cursor .cursor/mcp.json
VS Code .vscode/mcp.json

Existing configuration is merged rather than overwritten, and a backup is kept on first write. The API port and its token are resolved at launch and never written into those files, so the configs stay valid across restarts.

The same panel can drop an agent playbook into AGENTS.md and CLAUDE.md, inside a delimited block that leaves the rest of the file alone.

Keyboard

Ctrl on Windows, Cmd on macOS:

Shortcut Action
Ctrl/Cmd + 18 Focus pane N
Ctrl/Cmd + , Settings
Double-click a split Reset that boundary to 50/50
Double-click a workspace Rename

Everything else is rebindable from Settings → Shortcuts. The defaults differ where the two platforms do: a Mac copies with Cmd+C rather than Ctrl+Shift+C, splits with Cmd+D, and moves between panes with Ctrl+Option+arrow — leaving Option+arrow to the terminal, which uses it to move by word.

Development

Node 20+, pnpm and a Rust toolchain; on Windows, the MSVC build tools, and on macOS the Xcode command line tools (xcode-select --install). Linux builds against the system WebView, so it needs its headers first:

sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev \
  libxdo-dev libssl-dev patchelf
pnpm install
pnpm tauri dev      # run it
pnpm tauri build    # build the installers

The MCP server is the same binary, run with --mcp:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | ./src-tauri/target/debug/hangar-ai --mcp

English is the reference for translations in src/i18n.ts: the French table is typed against it, so a missing key fails the build instead of falling back at runtime.

Redrawing the logo regenerates three checked-in copies, in this order. The scripts are PowerShell, so this one is a Windows job — the artwork they produce is checked in, and a macOS clone never has to run them:

powershell -File scripts/logo.ps1            # the masters, assets/logo.png and .svg
pnpm tauri icon assets/logo.png              # the OS icon set
powershell -File scripts/installer-art.ps1   # the installer bitmaps

A fork that wants the Rich Presence badges needs art uploaded to its own Discord application under the keys agent-claude, agent-codex, agent-gemini and agent-opencode, then its application id set in Settings → Discord. Until then the card simply shows no badge.

License

MIT

About

Terminal multiplexer for CLI coding agents, with a shared task board they can drive over MCP

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages