Tiller

A Chromium browser with an agent at the helm

A small macOS browser built on Chromium, with a native Swift/AppKit interface and a built-in agent panel that can drive the browser.

Free and open source · macOS 26 or later on Apple silicon · MIT license

Tiller icon: a pixel-art sailboat

▸ Watch the tour · 80 seconds

▸ The browser

Chromium inside, a Mac app outside

Pages render with Chromium through CEF. The window, tabs and menus are AppKit, so it looks and behaves like the rest of your Mac.

Chromium engine, native shell

Every site works as it does in Chrome, inside a window drawn by Swift and AppKit.

Tabs and session restore

Tabs along the top or in a sidebar. Open and recently closed tabs survive restarts and crashes.

Import from Chrome

Cookies, saved passwords, history, extensions, search engine and homepage come over in one sheet.

Chrome extensions

Add unpacked folders or CRX files. Content scripts, background workers and popups run.

Profiles

Each profile has its own site data, history, passwords, chats, theme and accent color.

The usual browser things

Find in page, zoom, print, downloads with progress, full screen, developer tools and view source.

▸ The agent panel

Hand over the helm with ⌘⇧S

Chat with a coding agent in a side panel that controls the browser. It opens tabs, reads pages, clicks and types in your real tabs, and answers in rich markdown.

Five agents, one panel

Pick one per chat, with its own model, effort, fast mode and built-in tools. Claude Code can also run against your own provider's API.

Qoder CLI Claude Code Codex Antigravity CLI Grok Build

Queue while it works

Write your next message during a turn. It waits above the field and goes when the turn finishes.

Skills with /

Call skills from your own folders, or from a skill library every agent shares. Agents can write new skills for you.

Prompts on a schedule

Run a prompt every few minutes, every morning or on a cron expression, skills included. Set them up in Settings or just ask the agent. Runs happen in the background without taking a tab, and a notification tells you how each one went.

▸ For developers

The same tools, for any agent or script

A stdio MCP server and the tiller command expose the browser tools the panel uses, so external agents and scripts can drive Tiller too.

The tiller command

Install it from Tiller › Install Command Line Tool…

❯ tiller new example.com    # open a tab and wait for the load
❯ tiller read               # text with numbered links and fields
❯ tiller click 3
❯ tiller type 5 "hello" --submit
❯ 

The MCP server

Point any MCP client at the server inside the app.

{ "mcpServers": { "tiller": {
    "command": "/Applications/Tiller.app/
      Contents/MacOS/tiller_mcp"
} } }

Build from source

You need the Swift toolchain, Rust, Ninja and CEF 154. The README has the one-time setup.

❯ git clone https://github.com/sorrycc/Tiller && cd Tiller
❯ scripts/bundle.sh        # release build; pass `debug` for a debug build
❯ open build/Tiller.app