gwt is a desktop app for managing Git worktrees and launching coding agents
(Claude Code, Codex, Gemini, OpenCode) on a project basis.
Run the installer:
curl -fsSL https://raw.githubusercontent.com/akiojin/gwt/main/installers/macos/install.sh | bashInstall a specific version:
curl -fsSL https://raw.githubusercontent.com/akiojin/gwt/main/installers/macos/install.sh | bash -s -- --version 6.30.3Downloadable formats in Releases:
.dmg
Build installers locally (one command):
pnpm run installer:macosDownload .msi from GitHub Releases and run the installer.
Build installer locally (one command, PowerShell):
pnpm run installer:windowsDownload one of:
.deb.AppImage
Run with your OS standard installer method.
curl -fsSL https://raw.githubusercontent.com/akiojin/gwt/main/installers/macos/uninstall.sh | bash- Open gwt.
- Click Open Project... and select a Git repository.
- Open or switch branches in the sidebar.
- Use the branch actions to:
- create/list/clean worktrees
- launch an agent
- Open Settings to set up AI profile settings if you use Agent or summary features.
gwt checks for updates from GitHub Releases.
- On app startup, it checks updates automatically.
- If it cannot check at first, it retries a few times automatically.
- When an update is available, you get a notification.
- You can also trigger manual check from the menu: Help → Check for Updates....
If a compatible installer/payload is available, gwt can apply it directly. If automatic apply is not possible, the update dialog tells you to download from Releases manually.
| Shortcut (macOS) | Shortcut (Windows/Linux) | Action |
|---|---|---|
| Cmd+N | Ctrl+N | New Window |
| Cmd+O | Ctrl+O | Open Project |
| Cmd+C | Ctrl+C | Copy |
| Cmd+V | Ctrl+V | Paste (text fields / native menu fallback) |
| Cmd+V (terminal pane) | Ctrl+Shift+V (terminal pane) | Paste text into terminal pane |
| Cmd+Shift+C | Ctrl+Shift+C | Copy Screen Text |
| Cmd+Shift+K | Ctrl+Shift+K | Cleanup Worktrees |
| Cmd+, | Ctrl+, | Preferences |
| Cmd+Shift+[ | Ctrl+Shift+[ | Previous Tab |
| Cmd+Shift+] | Ctrl+Shift+] | Next Tab |
| Cmd+` | Ctrl+` | Next Window |
| Cmd+Shift+` | Ctrl+Shift+` | Previous Window |
| Cmd+M | --- | Minimize (macOS only) |
- In terminal-based tabs (
Agent/Terminal), text paste isCtrl+Shift+V. Ctrl+Vis intentionally passed through to the terminal application (for example, Codex image paste).- This behavior is terminal-level and is shared across PowerShell, WSL, and Cmd.
gitcommand available inPATH.
- AI provider keys in environment variables (or saved in gwt profile settings):
ANTHROPIC_API_KEYorANTHROPIC_AUTH_TOKENOPENAI_API_KEYGOOGLE_API_KEYorGEMINI_API_KEY
bunxornpxfor local agent launch fallback.
gwt uses gh CLI for GitHub operations. Authenticate with:
gh auth login| Permission | Access | Used for |
|---|---|---|
| Contents | Read and Write | Repository browsing, branch operations, releases |
| Pull requests | Read and Write | PR create / edit / merge / review |
| Issues | Read and Write | Issue create / edit / comment |
| Metadata | Read | Implicitly granted |
For browse-only usage (no PR creation or branch management):
| Permission | Access |
|---|---|
| Contents | Read |
| Pull requests | Read |
| Issues | Read |
| Metadata | Read |
You can measure WER/CER with a local speech dataset.
cp tests/voice_eval/manifest.template.json tests/voice_eval/manifest.json
scripts/voice-eval.shSee tests/voice_eval/README.md for details.
For a versioned benchmark snapshot, see docs/voice-eval-benchmarks.md.
Voice input uses Qwen3-ASR via a local Python runtime.
- Required: Python 3.11+ available on
PATH(or setGWT_VOICE_PYTHON). - Not required manually:
qwen_asrpackage installation. - On first voice use, gwt auto-creates
~/.gwt/runtime/voice-venvand installs runtime deps there. - The selected Qwen model is then downloaded into Hugging Face cache on demand.
GWT_AGENT_AUTO_INSTALL_DEPS(true/false)GWT_DOCKER_FORCE_HOST(true/false)
MIT