Skip to content

Installing Gas Town

Complete setup guide for Gas Town multi-agent orchestrator.

Prerequisites

Required

ToolVersionCheckInstall
Go1.24+go versionSee golang.org
Git2.20+git --versionSee below
Beadslatestbd versiongo install github.com/steveyegge/beads/cmd/bd@latest

Optional (for Full Stack Mode)

ToolVersionCheckInstall
tmux3.0+tmux -VSee below
Claude Code (default)latestclaude --versionSee claude.ai/claude-code
Codex CLI (optional)latestcodex --versionSee developers.openai.com/codex/cli
OpenCode CLI (optional)latestopencode --versionSee opencode.ai

Installing Prerequisites

macOS

Terminal window
# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Required
brew install go git
# Optional (for full stack mode)
brew install tmux

Linux (Debian/Ubuntu)

Terminal window
# Required
sudo apt update
sudo 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.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.12.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
source ~/.bashrc
# Optional (for full stack mode)
sudo apt install -y tmux

Linux (Fedora/RHEL)

Terminal window
# Required
sudo dnf install -y git golang
# Optional
sudo dnf install -y tmux

Verify Prerequisites

Terminal window
# Check all prerequisites
go version # Should show go1.24 or higher
git --version # Should show 2.20 or higher
tmux -V # (Optional) Should show 3.0 or higher

Installing Gas Town

Step 1: Install the Binaries

Terminal window
# Install Gas Town CLI
go install github.com/steveyegge/gastown/cmd/gt@latest
# Install Beads (issue tracker)
go install github.com/steveyegge/beads/cmd/bd@latest
# Verify installation
gt version
bd version

If gt is not found, ensure $GOPATH/bin (usually ~/go/bin) is in your PATH:

Terminal window
# Add to ~/.bashrc, ~/.zshrc, or equivalent
export PATH="$PATH:$HOME/go/bin"

Step 2: Create Your Workspace

Terminal window
# 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 tracking

Step 3: Add a Project (Rig)

Terminal window
# Add your first project
gt 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

Terminal window
cd ~/gt
gt doctor # Run health checks
gt status # Show workspace status

Step 5: Configure Agents (Optional)

Gas Town supports built-in runtimes (claude, gemini, codex) plus custom agent aliases.

Terminal window
# List available agents
gt 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-low

You can also override the agent per command without changing defaults:

Terminal window
gt start --agent codex-low
gt sling gt-abc12 myproject --agent claude-haiku

Minimal Mode vs Full Stack Mode

Gas Town supports two operational modes:

Minimal Mode (No Daemon)

Run individual runtime instances manually. Gas Town only tracks state.

Terminal window
# Create and assign work
gt convoy create "Fix bugs" gt-abc12
gt sling gt-abc12 myproject
# Run runtime manually
cd ~/gt/myproject/polecats/<worker>
claude --resume # Claude Code
# or: codex # Codex CLI
# Check progress
gt convoy list

When to use: Testing, simple workflows, or when you prefer manual control.

Full Stack Mode (With Daemon)

Agents run in tmux sessions. Daemon manages lifecycle automatically.

Terminal window
# Start the daemon
gt daemon start
# Create and assign work (workers spawn automatically)
gt convoy create "Feature X" gt-abc12 gt-def34
gt sling gt-abc12 myproject
gt sling gt-def34 myproject
# Monitor on dashboard
gt convoy list
# Attach to any agent session
gt mayor attach
gt witness attach myproject

When to use: Production workflows with multiple concurrent agents.

Choosing Roles

Gas Town is modular. Enable only what you need:

ConfigurationRolesUse Case
Polecats onlyWorkersManual spawning, no monitoring
+ Witness+ MonitorAutomatic lifecycle, stuck detection
+ Refinery+ Merge queueMR review, code integration
+ Mayor+ CoordinatorCross-project coordination

Troubleshooting

gt: command not found

Your Go bin directory is not in PATH:

Terminal window
# Add to your shell config (~/.bashrc, ~/.zshrc)
export PATH="$PATH:$HOME/go/bin"
source ~/.bashrc # or restart terminal

bd: command not found

Beads CLI not installed:

Terminal window
go install github.com/steveyegge/beads/cmd/bd@latest

gt doctor shows errors

Run with --fix to auto-repair common issues:

Terminal window
gt doctor --fix

For persistent issues, check specific errors:

Terminal window
gt doctor --verbose

Daemon not starting

Check if tmux is installed and working:

Terminal window
tmux -V # Should show version
tmux new-session -d -s test && tmux kill-session -t test # Quick test

Git authentication issues

Ensure SSH keys or credentials are configured:

Terminal window
# Test SSH access
# Or configure credential helper
git config --global credential.helper cache

Beads sync issues

If beads aren’t syncing across clones:

Terminal window
cd ~/gt/myproject/mayor/rig
bd sync --status # Check sync status
bd doctor # Run beads health check

Updating

To update Gas Town and Beads:

Terminal window
go install github.com/steveyegge/gastown/cmd/gt@latest
go install github.com/steveyegge/beads/cmd/bd@latest
gt doctor --fix # Fix any post-update issues

Uninstalling

Terminal window
# Remove binaries
rm $(which gt) $(which bd)
# Remove workspace (CAUTION: deletes all work)
rm -rf ~/gt

Next Steps

After installation:

  1. Read the README - Core concepts and workflows
  2. Try a simple workflow - bd create "Test task" then gt convoy create "Test" <bead-id>
  3. Explore docs - docs/reference.md for command reference
  4. Run doctor regularly - gt doctor catches problems early