Skip to main content

Installing Rowboat

Rowboat is available as a native desktop application for macOS, Windows, and Linux.

Download

macOS

.dmg installerRequires macOS 10.15 or later

Windows

.exe installerRequires Windows 10 or later

Linux

AppImage or .debTested on Ubuntu 20.04+
Download latest release: rowboatlabs.com/downloads All release files: github.com/rowboatlabs/rowboat/releases/latest

Platform-specific installation

Install from DMG

  1. Download the .dmg file for macOS
  2. Open the downloaded file
  3. Drag Rowboat to your Applications folder
  4. Launch Rowboat from Applications
On first launch, macOS may show “Rowboat is from an unidentified developer.”To allow: Right-click Rowboat → Open → Click “Open” in the dialog

Data location

Rowboat stores all data in:
~/.rowboat/
  knowledge/        # Your knowledge graph (Markdown)
  config/           # Model and integration configs
  gmail_sync/       # Synced email data
  google_calendar/  # Calendar events
  logs/             # Application logs

Uninstall

  1. Quit Rowboat
  2. Move Rowboat.app to Trash from Applications
  3. (Optional) Delete ~/.rowboat/ to remove all data

Google setup

Rowboat requires a Google OAuth Client ID to connect Gmail, Calendar, and Drive.
1

Create Google Cloud project

  1. Go to Google Cloud Console
  2. Click Create Project
  3. Enter a project name (e.g., “Rowboat Integration”)
  4. Click Create
  5. Select the new project from the dropdown
Select project
2

Enable required APIs

Enable these three APIs:
  1. Gmail API - Click Enable
  2. Google Calendar API - Click Enable
  3. Google Drive API - Click Enable
Enable API
3

Configure OAuth consent screen

  1. Go to OAuth consent screen
  2. Choose External as audience type
  3. Fill in:
    • App name: Rowboat (or your preferred name)
    • User support email: Your email address
    • Contact email: Your email address
  4. Click Save and Continue through all steps
You do NOT need to publish the app. Keeping it in Testing mode is completely fine for personal use.
OAuth consent screen
4

Add test users

Since your app is in Testing mode, you must manually add authorized users.
  1. Go to Test users
  2. Click Add Users
  3. Enter the email address you’ll connect with Rowboat
  4. Click Save
Add test users
5

Create OAuth Client ID

  1. Go to Credentials
  2. Click Create Credentials → OAuth Client ID
  3. For Application type, select: Universal Windows Platform (UWP)
  4. Enter:
    • Name: Rowboat Desktop (or any name)
    • Store ID: test (or any value)
  5. Click Create
Create UWP client
6

Copy the Client ID

After creation, Google shows your credentials:
  • Client ID - Copy this
  • Client Secret - Not needed
Paste the Client ID into Rowboat when prompted during setup.Copy Client ID
Why UWP client type?Rowboat is a desktop application that needs to use the OAuth flow without a custom redirect URI. The UWP client type allows this while maintaining security.

Optional features

Voice notes

To enable voice note transcription with Deepgram:
  1. Sign up at deepgram.com
  2. Get an API key from your Deepgram console
  3. Create config file:
    # macOS/Linux
    mkdir -p ~/.rowboat/config
    echo '{"apiKey": "YOUR_KEY_HERE"}' > ~/.rowboat/config/deepgram.json
    
    # Windows
    New-Item -Path "$env:USERPROFILE\.rowboat\config" -ItemType Directory -Force
    '{"apiKey": "YOUR_KEY_HERE"}' | Out-File -FilePath "$env:USERPROFILE\.rowboat\config\deepgram.json"
    
Voice memos are saved to ~/.rowboat/knowledge/Voice Memos/<date>/ as Markdown files with automatic transcription.

Web search with Brave

To enable web search capabilities:
  1. Get a Brave Search API key from brave.com/search/api
  2. Create config file:
    # macOS/Linux
    echo '{"apiKey": "YOUR_BRAVE_KEY"}' > ~/.rowboat/config/brave-search.json
    
    # Windows  
    '{"apiKey": "YOUR_BRAVE_KEY"}' | Out-File -FilePath "$env:USERPROFILE\.rowboat\config\brave-search.json"
    

Research search with Exa

For enhanced research capabilities:
  1. Get an Exa API key from exa.ai
  2. Create config file:
    # macOS/Linux
    echo '{"apiKey": "YOUR_EXA_KEY"}' > ~/.rowboat/config/exa-search.json
    
    # Windows
    '{"apiKey": "YOUR_EXA_KEY"}' | Out-File -FilePath "$env:USERPROFILE\.rowboat\config\exa-search.json"
    

Model configuration

Rowboat stores model config in ~/.rowboat/config/models.json.

Example configurations

{
  "provider": {
    "flavor": "openai",
    "apiKey": "sk-..."
  },
  "model": "gpt-4o"
}
You can change models at any time through the Rowboat settings UI or by editing the config file directly.

Verification

After installation, verify everything works:
  1. Check data directory exists:
    # macOS/Linux
    ls -la ~/.rowboat/
    
    # Windows
    dir %USERPROFILE%\.rowboat\
    
  2. Verify knowledge folder was created:
    # macOS/Linux
    ls ~/.rowboat/knowledge/
    
    # Windows
    dir %USERPROFILE%\.rowboat\knowledge\
    
    You should see:
    • Welcome.md
    • People/
    • Projects/
    • Organizations/
    • Topics/
  3. Check logs for errors:
    # macOS/Linux
    tail -f ~/.rowboat/logs/main.log
    

Troubleshooting

App won’t launch

macOS:
  • Right-click → Open (don’t double-click first time)
  • Check Security & Privacy settings if blocked
Windows:
  • Run as Administrator if permissions error
  • Check Windows Defender hasn’t quarantined the app
Linux:
  • Ensure AppImage is executable: chmod +x Rowboat-*.AppImage
  • Install required dependencies: sudo apt-get install libfuse2

Google OAuth fails

  • Verify you added yourself as a test user
  • Check that all three APIs (Gmail, Calendar, Drive) are enabled
  • Ensure you created a UWP client type, not “Desktop app”
  • Try revoking access at myaccount.google.com/permissions and re-authorizing

Knowledge graph not building

  • Check that Gmail sync completed (look in ~/.rowboat/gmail_sync/)
  • Verify model configuration is valid in ~/.rowboat/config/models.json
  • Review logs in ~/.rowboat/logs/ for errors
  • The graph builder runs every 30 seconds - give it a few minutes after first sync

Voice memos not transcribing

  • Verify Deepgram API key is correct in ~/.rowboat/config/deepgram.json
  • Check you have recording permissions enabled for Rowboat
  • Review logs for transcription errors

Next steps

Quickstart guide

Connect Google and make your first query

Configuration

Customize graph building, agents, and integrations

Build docs developers (and LLMs) love