Get it for macOS

Run shell commands on your Mac on a cron schedule or a fixed interval, as launchd jobs that keep running while bb is closed. Each job is a LaunchAgent plist that launchd owns, so a missed fire runs once when the Mac wakes and a disabled job stays disabled across reboots. A sidebar page shows each job's launchd status, its last twenty runs with duration and exit code, and the tail of its log, which you can follow live. Run now, Enable, Disable, Edit and Delete do the launchctl work for you, and commands run through your login shell with your terminal's PATH. The sidebar row counts failing jobs, and a picker switches between the Macs connected to bb. macOS only.


Overview

View source

Every job is a LaunchAgent plist in ~/Library/LaunchAgents that launchd itself owns: it fires on schedule with bb closed, runs a missed fire once when the Mac wakes, and stays disabled across reboots once you disable it. One sidebar page is where you make, read and change those jobs.

What you get

  • Jobs on a five-field cron expression or a fixed interval, with the schedule shown in words as you type it.
  • The status launchd reports, the last twenty runs with duration and exit code, and the tail of the log.
  • Follow a log live while a job runs.
  • Run now, Enable, Disable, Edit and Delete, each doing the launchd part for you.
  • Commands run through your login shell with your terminal's PATH, so tools from Homebrew or a version manager are found.
  • The sidebar row says how many jobs are failing; opening a job clears it until it fails again.
  • With several Macs connected to bb, a picker chooses whose jobs you see.
  • Jobs made by the Paseo launchd-jobs plugin appear as they are, with their history, and are never moved.

What it needs

macOS on the Mac whose jobs you manage. Commands run as you, with your permissions; only plists under the plugin's own label prefix are ever listed or changed.

Not a replacement for bb automations

bb's built-in automations run scripts and agents from the bb server while it runs. Use this plugin for commands that must run on a schedule whether or not bb is open.

More from Gustavo Ambrozio

FirstMate CrewHand one agent your to-do list and it runs a crew of worker threads, each in its own git worktree, until the work lands. The first mate is a pinned thread in bb's own chat that writes each worker's instructions, supervises it, and brings back branches, pull requests, findings and only the decisions that are yours. A FirstMate tab shows the crew as a board of Queued, Working, Blocked, Parked, Done, Failed and Idle, with Steer, Interrupt, Relaunch and End on every card. A built-in watch tells the first mate within about five minutes when a pull request is merged, reviewed or changes check status. Requires git, and the logged-in gh CLI for the pull request watch; a capable model such as Claude Sonnet is recommended for the first mate.NewGitHub BoardSee your GitHub issues, pull requests and discussions on one board, and hand any of them to an agent thread. Four columns cover what you wrote, what is open on repositories you own and what is assigned to you, and an issue that a pull request closes folds into that pull request's card. Pull request cards show CI checks and branch status, with an Update branch button wherever you can push. A detail panel shows the body, comments and images, and labels are added or removed from a right-click menu. Send to chat opens bb's new-thread composer on a card, with a prompt you set per column and per project, in the bb project that has the repository checked out. Requires the GitHub CLI (gh) installed and signed in on the machine running the bb server.1HeraldHear one spoken sentence when an agent needs you, and see every waiting thread in one list. When a thread asks a question, waits for a plan or a permission to be approved, finishes its turn or fails, the bb app says which thread it is and what it needs, on whatever page you are on. A Herald page in the sidebar lists every thread waiting on you with its reason and sentence, and the same sentence sits above that thread's composer with a Read again button until you answer. Settings choose which kinds of event are announced, the voice and speed, and where to speak: the desktop app, a browser tab, or the mobile app while it is open. By default the sentence is built from the event itself, with no model or external service; optionally, Claude Code, OpenAI Codex, Gemini CLI or a command of your own, installed and logged in on the Mac running bb, writes it instead, for one short model turn per announcement. The default voice needs bb running on a Mac, and elsewhere each device's own browser voice speaks.NewModel PricingCompare what every AI model costs per million tokens, across Anthropic, OpenAI, Fireworks AI, Ollama Cloud and OpenRouter, in one table. A Relative column ranks each model against the cheapest one on screen, weighted by an input/output blend you choose. Each row also gives the context window, the longest reply, and whether the model can reason, call tools or return structured output. Sort by any column, search by name, hide a provider with its legend dot, and open any model's own page from its row. Prices come from the public models.dev catalog and OpenRouter's model list and are kept for twelve hours; no account or key is needed, but the machine running the bb server must reach both sites.New

More in Tasks & Workflows 31

Plan, track, route, schedule, or automate work.

View all