Skip to content

Use case

Let Claude and Codex chats run your workflows, with you in charge

Pairbar is a macOS app that lays one sidebar over the native Claude and Codex desktop apps and runs scheduled workflows through your own command-line tools. With Pairbar's tools installed, a chat can ask to run one of those workflows (run_workflow), draft a new one for you to review (propose_workflow), or have Pairbar check back into it on a timer (schedule_checkin), for example until CI is green. Each request goes through the same guardrails, in order, and a workflow runs without asking only if you marked it Agents may run this yourself.

Last updated

Every request is checked in this orderrefused with1Agent actions paused, or this kind is Offpaused_by_user · turned_off2Too deep: a helper may only ask for a second opinion or a reviewtoo_deep3More access than the asking chat has itselfno_escalation4You declined 3 of its requests in 10 minutes (paused 1 h)limited5The same request in the last 10 minuteslimited6Budgets (3 per chat, 8 an hour, 6 at once, 30 a day) or under 25% of a plan leftlimitedRunsAllow for this kind, a 1-hour grant for this chat,or a workflow you marked Agents may run thisWaits for your ApproveEverything else. Agents never approve;unanswered requests expire after an hour
Every agent request passes the same checks in order: paused or off, depth, no escalation, recent declines, repeats, budgets and the plan floor, then Ask me or Allow.

The problem

You already have repeatable jobs: triage new issues, fix a failing CI run, draft release notes. A chat in the middle of a task often knows when one of them should run, or that it should check back on CI in fifteen minutes. Letting it start things on its own is where it gets uneasy.

  • A chat that can start jobs could start one that does more than the chat itself is allowed to (edit files from a read-only chat, say).
  • A confused or prompt-injected chat could ask again and again, and burn through your plan.
  • A chat that polls CI in a loop sits in one long turn, using the plan while it waits.

How Pairbar solves it

  1. Install Pairbar's tools
    Settings → Integrations → Pairbar tools for Claude and Codex → Install…, then start a new chat so the plugin loads. Leave Running your workflows and Check-ins a chat schedules for itself on Ask me (the default) until you trust how a chat uses them.
  2. Mark the workflows agents may run
    In a workflow's editor, the Agents may run chip at the bottom lets chats run it without asking, within the budgets. It's off for every workflow to start with, and only you turn it on: a planned draft never is.
  3. Let a chat run one
    Ask "run the morning triage workflow for PR #42" (or /pairbar:workflow). The chat calls run_workflow with an optional note, which goes to the first steps framed as another chat's words. A workflow you didn't mark waits for your Approve, with a sheet listing its steps, what each may do and which ask you first.
  4. Let a chat draft one
    "Turn this into a workflow that runs every weekday at 9" makes the chat call propose_workflow: Pairbar's planner drafts it on your plan and the Workflows editor opens with it. Nothing is saved or scheduled until you press Create workflow.
  5. Let a chat check back on itself
    "Keep an eye on CI" (or /pairbar:babysit) makes the chat call schedule_checkin: its message is sent back into it every 10, 15, 30 or 60 minutes, up to 24 times, until a reply ends with the stop word (DONE). You approve it, and can tick Allow this chat's check-ins from now on.

The guardrails, in order

  1. Paused or off. Pause agent actions refuses everything (paused_by_user); a kind set to Off is refused (turned_off).
  2. Depth. Your own chat is depth 0. A helper Pairbar started (depth 1) may only ask for a second opinion or a review, so it can't run workflows; its helpers can ask for nothing (too_deep).
  3. No escalation. A chat can't run a workflow whose steps may do more than it may itself: a Claude chat in plan mode can't run one that edits (no_escalation). When Pairbar can't tell, a workflow that runs commands or edits is asked, even if it's marked.
  4. Declines. Three declines of one chat's requests within 10 minutes and its requests are refused for an hour (limited).
  5. Repeats. The same request within 10 minutes, while the earlier ticket is still waiting, running or done, is refused, naming the ticket to wait for.
  6. Budgets and plan floor. A workflow run counts as a started chat: 3 at once and 8 an hour per chat, 6 at once and 30 a day across Pairbar, and nothing new on an app with less than 25% of its plan left.
  7. Ask or allow. Then it runs (marked Agents may run this, a grant, or Allow) or waits for you.

What stays the same in an agent's run

  • Startup questions need valid default answers for agent-started runs; otherwise the agent receives an explanation and no step starts. It's an ordinary run: the plan limit still applies (it isn't Run now), and Ask me first steps still wait for you.
  • The workflow's page says "Started by Claude chat “…”", and the chat gets each step's outcome and the last step's reply back.
  • A workflow already running, a draft while the editor has another one open, and a check-in on a chat you already check in on are refused.

The settings

Setting (Settings → Integrations → Agent actions)Choices
Running your workflowsOff or Ask me (to start with); marked workflows run without asking
Workflow draftsOff or Allow (to start with); the editor waits for Create workflow either way
Check-ins a chat schedules for itselfOff or Ask me (to start with)
Pause agent actionsthe kill switch; chats' own check-ins wait while it's on
Stop all agent-started chatsstops every helper and workflow run an agent started, withdraws waiting requests, ends chats' own check-ins

Without Pairbar

Other ways to run agent jobs on a schedule or on demand:

  • The apps' own scheduling: scheduled tasks in the Claude desktop app, and automations in the Codex app. You set them up; a chat doesn't start them.
  • cron or launchd with claude -p or codex exec: flexible, with permissions and limits entirely up to your script.
  • CI jobs, such as Claude Code GitHub Actions, triggered by pushes or comments.
  • Ask the chat to wait and poll CI in its own turn. Simple, but the chat sits busy the whole time.

Frequently asked questions

Can a chat run any of my workflows without asking?
Only the ones you marked Agents may run this, and only within the budgets. Every other workflow waits for your approval, and a workflow that may do more than the chat itself is refused.
Can a chat create a workflow by itself?
No. propose_workflow only opens a draft in the Workflows editor. Nothing is saved or scheduled until you press Create workflow, and a draft is never marked Agents may run this.
How do I stop everything an agent started?
Stop all agent-started chats in Settings → Integrations → Agent actions (also in ⌘K) stops every helper and workflow run an agent started, withdraws waiting requests and ends the chats' own check-ins. Pause agent actions refuses new ones.
Does this use my plan?
Yes. Workflow runs and check-ins run through your own claude and codex command-line tools and count toward your plan limits, like chatting. Pairbar starts nothing new on an app with less than the share you keep for yourself (25% to start with).

Try Pairbar free for 7 days

One sidebar for the Claude and Codex desktop apps. Everything on for 7 days, no card needed; then $49/year ($39 first year with LAUNCH), $9/month or $129 lifetime (first 200 buyers). macOS 26 or later, Apple silicon.