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
▸ Watch the tour · 80 seconds
Pages render with Chromium through CEF. The window, tabs and menus are AppKit, so it looks and behaves like the rest of your Mac.
Every site works as it does in Chrome, inside a window drawn by Swift and AppKit.
Tabs along the top or in a sidebar. Open and recently closed tabs survive restarts and crashes.
Cookies, saved passwords, history, extensions, search engine and homepage come over in one sheet.
Add unpacked folders or CRX files. Content scripts, background workers and popups run.
Each profile has its own site data, history, passwords, chats, theme and accent color.
Find in page, zoom, print, downloads with progress, full screen, developer tools and view source.
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.
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.
Write your next message during a turn. It waits above the field and goes when the turn finishes.
Call skills from your own folders, or from a skill library every agent shares. Agents can write new skills for you.
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.
A stdio MCP server and the tiller command expose the browser tools the panel uses, so external agents and scripts can drive Tiller too.
tiller commandInstall 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 ❯
Point any MCP client at the server inside the app.
{ "mcpServers": { "tiller": {
"command": "/Applications/Tiller.app/
Contents/MacOS/tiller_mcp"
} } }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