Boatman Desktop
Boatman Desktop is a native desktop application built with Wails (Go + React) that provides a rich GUI for interacting with AI agents on your codebase, with specialized Firefighter Mode for production incident investigation, repeatable Routines, and a Runtime inspector for provider-neutral runs and memory.
Features
Claude AI Agent
- Interactive Chat: Ask questions, request changes, get explanations about your codebase
- Code Analysis: Deep understanding of your project structure and patterns
- Autonomous Actions: Edit files, run commands, create commits with your approval
- Sub-Agents: Spawns specialized agents for complex multi-step tasks
- Project Management: Open and manage multiple coding projects
- Task Tracking: View and monitor tasks created by the agent
- Runtime Requests: Sessions are built through Boatman's provider-neutral runtime so provider features can evolve behind adapters
Firefighter Mode
- Linear Integration: Monitors triage queue for production incidents
- Error Investigation: Connects Bugsnag errors with Datadog logs and git history
- Root Cause Analysis: Correlates deployments, code changes, and error patterns
- Auto-Fix: Creates isolated worktrees, attempts fixes, runs tests, opens PRs
- Slack Integration: Responds to @mentions for urgent production issues
BoatmanMode Integration
- One-Click Execution: Execute Linear tickets through BoatmanMode's full pipeline
- Live Progress: Real-time tracking of planning, execution, review, and refactoring
- Event-Driven: Structured JSON events streamed from CLI to desktop UI
Runtime Inspector
- Run History: Browse project-local
.boatman/runsrecords - Event Timeline: Inspect normalized runtime events such as phases, tool calls, usage, memory loads, integration state, and artifacts
- Artifact Manifest: See durable outputs recorded by each run
- Inspectable Memory: Read
.boatman/memoryMarkdown documents with provenance, source run, scope, and expiration
Routines
- Project Routine Library: Load built-ins plus
.boatman/routines.jsonand.boatman/routines/*.jsonfrom the active project - Datadog GraphQL Slow Queries: Run a saved Datadog MCP investigation from the desktop app
- Datadog MCP Auth: Open Claude Code's Datadog MCP auth flow in an interactive terminal from the Routines tab, with a Boatman-managed Datadog MCP fallback
- Dry-Run Preview: Check integration readiness and request shape before invoking a model
- Markdown Reports: Save routine output under project-local
.boatman/routines
MCP Integration
- Extensible: Connect to any MCP-compatible tool or service
- Built-in Servers: GitHub, Datadog, Bugsnag, Linear, Slack
- OAuth Support: Authenticate Datadog through Claude Code MCP auth and Okta SSO for enterprise integrations
- Custom Servers: Build your own MCP servers
Project Structure
desktop/
├── frontend/ # React TypeScript frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ │ ├── approval/ # Approval bar for agent actions
│ │ │ ├── boatmanmode/ # BoatmanMode integration UI
│ │ │ ├── chat/ # Chat view and message bubbles
│ │ │ ├── diff/ # Diff viewer and batch approval
│ │ │ ├── firefighter/ # Firefighter mode UI
│ │ │ ├── layout/ # Header, sidebar, layout
│ │ │ ├── logs/ # Agent logs panel
│ │ │ ├── onboarding/ # First-run setup
│ │ │ ├── project/ # Project management
│ │ │ ├── runtime/ # Runtime run and memory inspector
│ │ │ ├── routines/ # Repeatable routine UI
│ │ │ ├── search/ # Search interface
│ │ │ ├── session/ # Session management
│ │ │ ├── settings/ # Settings modal
│ │ │ └── tasks/ # Task list display
│ │ ├── hooks/ # React hooks (useAgent, etc.)
│ │ ├── store/ # State management
│ │ └── types/ # TypeScript type definitions
│ └── wailsjs/ # Wails-generated bindings
├── agent/ # Agent session management (Go)
├── boatmanmode/ # BoatmanMode CLI integration (Go)
├── config/ # Configuration and preferences (Go)
├── diff/ # Diff parsing and rendering (Go)
├── git/ # Git integration (Go)
├── mcp/ # MCP server management (Go)
├── project/ # Project and workspace management (Go)
├── runtime_inspection.go # Wails methods for run store and memory docs
├── app.go # Main application logic
└── main.go # Application entry pointSupported Models
| Model | ID | Recommended For |
|---|---|---|
| Claude Opus 4.6 | claude-opus-4-6 | Complex analysis, thorough reviews |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | General development, balanced quality |
| Claude Haiku 4 | claude-haiku-4 | Quick tasks, fast responses |
FAQ
Q: What OS is supported? A: Currently macOS (M1/M2/M3). Windows/Linux support planned.
Q: How much does it cost? A: Boatman Desktop is free. You pay for Claude API usage.
Q: Is my code secure? A: Model calls are routed through the configured provider adapter. Code and prompts are sent according to that provider's policy. Use Google Cloud or your approved provider setup for private environments.
Q: What does the Runtime tab show?
A: It reads project-local .boatman/runs and .boatman/memory files. It does not need a database and does not call external services just to inspect recorded runs or memory.
Q: Can I use it offline? A: No, requires internet for Claude API and MCP servers.