scuttlarrscuttlarrv0.7.0
macOS · Apple Silicon · free & open source

The terminal developer’s desktop for macOS.

A menubar replacement, a launcher that dresses up as a shell prompt, one theme rendered into everything, and a keyboard-first way of working — with tiling, de-shined defaults and a fast shell a toggle away. The Omarchy shape, without Linux. Install gets the bar and the launcher; the rest is a rung you turn on. Hit ⌥Space and run your Mac without touching the mouse.

Download for MacStar on GitHubv0.7.0 · Apple Silicon · signed & notarized
welcome video — coming soon

This is not a screenshot — type in it

Ghostty
❯
try

What it does

Launch, fuzzy & frecency-ranked

Apps and System Settings panes, scored fzf-family and ranked by your actual usage. Ties break on frecency, never the other way around.

Bang mode to your terminal

!git status ⏎ hands the command to Ghostty, verbatim. No wrapper, no escaping surprises.

Hackable in any language

Drop an executable in ~/.config/scuttlarr/scripts/ — its trigger word is live before you switch back to the panel. json and ip ship bundled.

Clipboard, math, emoji

clip keeps 200 text items and never records concealed types. 2*(14.5+3) computes inline; :fire picks emoji. Enter copies.

Quicklinks & URLs

Type a URL to open it, or add it in-panel with a name, browser and favicon. {query} templates give you yt cute otters ⏎.

Settings you can edit by hand

A real settings window and a watched, hot-applied config.json. Both stay in sync; neither is the second-class citizen.

V0.5

The bar

An Omarchy-flat menubar replacement: no boxes, dim glyphs, one solid block on the active workspace. ~19 MB marginal memory, themed by the same tokens as the launcher.

V0.5

TUI panels in the launcher

wifi ⏎, dns ⏎, usage ⏎ and more — keyboard-driven panels inside the launcher window. Esc walks back; focus returns exactly where it was.

V0.5

Agent monitoring

Claude and Codex sessions as bar cells, boxed by tmux session, ordered by tab. Blocked breathes red; click a cell to jump straight to the pane.

V0.5

Token usage, locally

usage ⏎ parses agent journals on disk: tokens by day and model, plus opt-in account limits with reset countdowns. No token refresh, ever.

V0.5

? agent mode

Press ? and ask — streamed answers from your own claude or codex CLI in a caged child process. Off by default.

V0.5

The desktop layer

Tiling via AeroSpace with a config scuttlarr writes for you — a modifier, gaps, workspaces, done. Opt-in JankyBorders in your theme’s accent, and the pre-Tahoe window corners back if you want them. Flip manage off and the toml is yours.

V0.5

Screenshots to your agent

ss ⏎ — a grid of your latest captures, newest first. Enter puts the file on the clipboard; ⌘V into Claude, Cursor or a browser. The whole feature is ⌘Space ss ⏎ ⌘V.

14 themes, one colors.toml

From gruvbox to rose-pine, in Omarchy’s colors.toml format verbatim, so any Omarchy theme ports by copying one file. Turn the Theme rung on and it styles Ghostty, tmux, your prompt, delta and Claude Code too; a light/dark pair follows macOS, a schedule, or a Focus.

Zero permissions, opt-in everything

No Accessibility, no Full Disk Access, no telemetry, no update pings. The launcher core's only network call is user-initiated: fetching a favicon the moment you add a quicklink.

3.7msmeasured summon — the budget is 100ms
~96MBmain-process RSS while idling invisibly
+19MBmarginal memory for the whole bar
0permissions scuttlarr asks you to grant

The bar — your menubar, replaced

One flat 30px strip, inspired by Omarchy: no boxes, dim glyphs, a solid block marking the active workspace. Modules live in explicit left / center / right zones under bar.layout, and notched displays get their own arrangement. Rust pushes snapshots at 1 Hz — the webview is a pure listener.

Ghostty
Sat 16 Aug 09:41
workspacesAerospace workspaces, clickable and hotkey-tracked. The solid block is where you are.
agentsClaude/Codex session cells, boxed by tmux session. Hover for the task; click to jump.
front appThe focused application, dim and truncated at 32ch. Never shouts.
clockAn ordinary module that usually sits in the center zone — move it wherever you like.
wifi · batteryRight-zone glyph cells. Alert states go amber, then red. Fail-soft: a module with no data hides, never errors.
yours (module API)A data-driven, any-language emitter API is on the v0.5 roadmap — same contract philosophy as scripts.

Agent monitoring

If you run coding agents in tmux all day, the bar is their status board. Every session is one glyph, grouped by tmux session and ordered by tab. Hover a cell for the task and state; click it and scuttlarr drops you into the exact pane.

◉blockedneeds you — breathes until you look
●workingagent is mid-task
●done · unreadfinished; marks read when you jump
○idlesession open, nothing running
hover a cell
release v0.5.0 — awaiting approval
◉ blocked · 47s ago
permission needed: scripts/release.sh
fable · tab 2 · release
click cell to jump

Also a panel: type agents ⏎ in the launcher for the full keyboard-driven list.

Picking a launcher and a bar

scuttlarrRaycastAlfredSketchybar
feels likea shell prompta polished appa polished appa status bar
extensionsany executable in a folderReact + a storeworkflowsshell plugins
menubar replacementyes — bar + launchernonobar only
themingone palette, everywhere — terminal, tmux, prompt, macOS Focusits own windowits own windowthe bar, by hand
licenseMIT, open sourceclosed, freemiumclosed, paid Powerpackopen source

All fine tools, and all of them do things scuttlarr doesn’t. The launcher and the bar are where they overlap; the rungs above them — Desktop, Theme, Machine — are what none of them try. This table is about temperament, not superiority.

Install

Apple Silicon · v0.7.0 signed & notarized
$ brew install mitchmalone/tap/scuttlarr
Updates with brew upgrade. The recommended install.

First run: the panel appears once with the hint line, a default config is written to ~/.config/scuttlarr/config.json, and scuttlarr registers as a login item (toggleable in settings). The bar is off by default — flip bar.enabled when you’re ready to retire your menubar.

Building in the open — the fold shipped, the rungs are filling in

v0.4 is where scuttlarr became a control surface: bar, panels, agents, the desktop layer — all in daily use. v0.5 is the plugin release: a module API for the bar, multi-display, settings inside the panels. Explicit non-goals hold: no file search, no snippets, no granted permissions. What once read not a distro is now the rungs: bar + launcher on install, then Desktop, Theme and Machine as toggles you turn on — the Omarchy shape, without Linux.

✓The bardaily driver; zones, notch profiles, hover cards
✓Panel frameworkwifi ⏎ · dns ⏎ · ss ⏎ and eight more
✓Agent monitoringcells, tmux groups, usage ⏎, ? mode
✓Desktop rungAeroSpace managed, borders, corners
✓Pluginsany-language services and bar cells, declared permissions
✓Theme rungOmarchy's colors.toml, rendered into Ghostty, tmux, prompt, delta, Claude Code
✓Theme policylight/dark pair by macOS or schedule; a theme per macOS Focus; theme ⏎
◐Machine rungde-shined defaults, manifest, remove — the shell base is next
○Your themesoverlays in ~/.config/scuttlarr/themes, theme install <git-url>
○Hot editorsVS Code, Cursor, Zed, Neovim, Helix retint with the theme