Installing Gas Town
Complete setup guide for Gas Town multi-agent orchestrator.
Prerequisites
Section titled “Prerequisites”Required
Section titled “Required”| Tool | Version | Check | Install |
|---|---|---|---|
| Go | 1.24+ | go version | See golang.org |
| Git | 2.20+ | git --version | See below |
| Beads | latest | bd version | go install github.com/steveyegge/beads/cmd/bd@latest |
Optional (for Full Stack Mode)
Section titled “Optional (for Full Stack Mode)”| Tool | Version | Check | Install |
|---|---|---|---|
| tmux | 3.0+ | tmux -V | See below |
| Claude Code (default) | latest | claude --version | See claude.ai/claude-code |
| Codex CLI (optional) | latest | codex --version | See developers.openai.com/codex/cli |
| OpenCode CLI (optional) | latest | opencode --version | See opencode.ai |
Installing Prerequisites
Section titled “Installing Prerequisites”# Install Homebrew if needed/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Requiredbrew install go git
# Optional (for full stack mode)brew install tmuxLinux (Debian/Ubuntu)
Section titled “Linux (Debian/Ubuntu)”# Requiredsudo apt updatesudo apt install -y git
# Install Go (apt version may be outdated, use official installer)wget https://go.dev/dl/go1.24.12.linux-amd64.tar.gzsudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.12.linux-amd64.tar.gzecho 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrcsource ~/.bashrc
# Optional (for full stack mode)sudo apt install -y tmuxLinux (Fedora/RHEL)
Section titled “Linux (Fedora/RHEL)”# Requiredsudo dnf install -y git golang
# Optionalsudo dnf install -y tmuxVerify Prerequisites
Section titled “Verify Prerequisites”# Check all prerequisitesgo version # Should show go1.24 or highergit --version # Should show 2.20 or highertmux -V # (Optional) Should show 3.0 or higherInstalling Gas Town
Section titled “Installing Gas Town”Step 1: Install the Binaries
Section titled “Step 1: Install the Binaries”# Install Gas Town CLIgo install github.com/steveyegge/gastown/cmd/gt@latest
# Install Beads (issue tracker)go install github.com/steveyegge/beads/cmd/bd@latest
# Verify installationgt versionbd versionIf gt is not found, ensure $GOPATH/bin (usually ~/go/bin) is in your PATH:
# Add to ~/.bashrc, ~/.zshrc, or equivalentexport PATH="$PATH:$HOME/go/bin"Step 2: Create Your Workspace
Section titled “Step 2: Create Your Workspace”# Create a Gas Town workspace (HQ)gt install ~/gt
# This creates:# ~/gt/# ├── CLAUDE.md # Mayor role context# ├── mayor/ # Mayor config and state# ├── rigs/ # Project containers (initially empty)# └── .beads/ # Town-level issue trackingStep 3: Add a Project (Rig)
Section titled “Step 3: Add a Project (Rig)”# Add your first projectgt rig add myproject https://github.com/you/repo.git
# This clones the repo and sets up:# ~/gt/myproject/# ├── .beads/ # Project issue tracking# ├── mayor/rig/ # Mayor's clone (canonical)# ├── refinery/rig/ # Merge queue processor# ├── witness/ # Worker monitor# └── polecats/ # Worker clones (created on demand)Step 4: Verify Installation
Section titled “Step 4: Verify Installation”cd ~/gtgt doctor # Run health checksgt status # Show workspace statusStep 5: Configure Agents (Optional)
Section titled “Step 5: Configure Agents (Optional)”Gas Town supports built-in runtimes (claude, gemini, codex) plus custom agent aliases.
# List available agentsgt config agent list
# Create an alias (aliases can encode model/thinking flags)gt config agent set codex-low "codex --thinking low"gt config agent set claude-haiku "claude --model haiku --dangerously-skip-permissions"
# Set the town default agent (used when a rig doesn't specify one)gt config default-agent codex-lowYou can also override the agent per command without changing defaults:
gt start --agent codex-lowgt sling gt-abc12 myproject --agent claude-haikuMinimal Mode vs Full Stack Mode
Section titled “Minimal Mode vs Full Stack Mode”Gas Town supports two operational modes:
Minimal Mode (No Daemon)
Section titled “Minimal Mode (No Daemon)”Run individual runtime instances manually. Gas Town only tracks state.
# Create and assign workgt convoy create "Fix bugs" gt-abc12gt sling gt-abc12 myproject
# Run runtime manuallycd ~/gt/myproject/polecats/<worker>claude --resume # Claude Code# or: codex # Codex CLI
# Check progressgt convoy listWhen to use: Testing, simple workflows, or when you prefer manual control.
Full Stack Mode (With Daemon)
Section titled “Full Stack Mode (With Daemon)”Agents run in tmux sessions. Daemon manages lifecycle automatically.
# Start the daemongt daemon start
# Create and assign work (workers spawn automatically)gt convoy create "Feature X" gt-abc12 gt-def34gt sling gt-abc12 myprojectgt sling gt-def34 myproject
# Monitor on dashboardgt convoy list
# Attach to any agent sessiongt mayor attachgt witness attach myprojectWhen to use: Production workflows with multiple concurrent agents.
Choosing Roles
Section titled “Choosing Roles”Gas Town is modular. Enable only what you need:
| Configuration | Roles | Use Case |
|---|---|---|
| Polecats only | Workers | Manual spawning, no monitoring |
| + Witness | + Monitor | Automatic lifecycle, stuck detection |
| + Refinery | + Merge queue | MR review, code integration |
| + Mayor | + Coordinator | Cross-project coordination |
Troubleshooting
Section titled “Troubleshooting”gt: command not found
Section titled “gt: command not found”Your Go bin directory is not in PATH:
# Add to your shell config (~/.bashrc, ~/.zshrc)export PATH="$PATH:$HOME/go/bin"source ~/.bashrc # or restart terminalbd: command not found
Section titled “bd: command not found”Beads CLI not installed:
go install github.com/steveyegge/beads/cmd/bd@latestgt doctor shows errors
Section titled “gt doctor shows errors”Run with --fix to auto-repair common issues:
gt doctor --fixFor persistent issues, check specific errors:
gt doctor --verboseDaemon not starting
Section titled “Daemon not starting”Check if tmux is installed and working:
tmux -V # Should show versiontmux new-session -d -s test && tmux kill-session -t test # Quick testGit authentication issues
Section titled “Git authentication issues”Ensure SSH keys or credentials are configured:
# Test SSH access
# Or configure credential helpergit config --global credential.helper cacheBeads sync issues
Section titled “Beads sync issues”If beads aren’t syncing across clones:
cd ~/gt/myproject/mayor/rigbd sync --status # Check sync statusbd doctor # Run beads health checkUpdating
Section titled “Updating”To update Gas Town and Beads:
go install github.com/steveyegge/gastown/cmd/gt@latestgo install github.com/steveyegge/beads/cmd/bd@latestgt doctor --fix # Fix any post-update issuesUninstalling
Section titled “Uninstalling”# Remove binariesrm $(which gt) $(which bd)
# Remove workspace (CAUTION: deletes all work)rm -rf ~/gtNext Steps
Section titled “Next Steps”After installation:
- Read the README - Core concepts and workflows
- Try a simple workflow -
bd create "Test task"thengt convoy create "Test" <bead-id> - Explore docs -
docs/reference.mdfor command reference - Run doctor regularly -
gt doctorcatches problems early
