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
- Install Pairbar's toolsSettings → 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.
- Mark the workflows agents may runIn 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.
- Let a chat run oneAsk "run the morning triage workflow for PR #42" (or
/pairbar:workflow). The chat callsrun_workflowwith 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. - 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. - Let a chat check back on itself"Keep an eye on CI" (or
/pairbar:babysit) makes the chat callschedule_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
- Paused or off. Pause agent actions refuses everything (
paused_by_user); a kind set to Off is refused (turned_off). - 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). - 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. - Declines. Three declines of one chat's requests within 10 minutes and its requests are refused for an hour (
limited). - 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.
- 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.
- 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 workflows | Off or Ask me (to start with); marked workflows run without asking |
| Workflow drafts | Off or Allow (to start with); the editor waits for Create workflow either way |
| Check-ins a chat schedules for itself | Off or Ask me (to start with) |
| Pause agent actions | the kill switch; chats' own check-ins wait while it's on |
| Stop all agent-started chats | stops 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 -porcodex 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_workflowonly 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
claudeandcodexcommand-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).
Related
- DocsWorkflowsScheduled prompts, check-ins on a chat, run history, limits
- Use caseRun scheduled coding workflows with Claude Code and CodexDescribe a recurring job; your Claude or Codex plans steps in parallel waves, and Pairbar runs them on schedule within your limits.
- Use caseRe-prompt a Claude Code or Codex chat on a timer until CI is greenA check-in re-sends a message into a chat every 5–60 minutes, up to 3–48 times, and stops when the reply ends with your stop word.
- GuideApprove, decline and limit what Claude and Codex chats ask Pairbar to doHow agent requests reach you, how to approve or decline them, which kinds ask first, and the pause, budgets and Stop all that keep you in charge.
- GuideChoose the right permission level for each workflow stepThe three step permission levels, the exact Claude Code flags and Codex sandboxes they map to, their caveats and when to use each.
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.