You're in control

Every worry in one place: getting banned, posting by mistake, posting twice, embarrassing yourself, and AI running away. The controls that stop each one, and where they live.

You're in control

Blowhorn is built for AI. Agents can drive it, queue for it and run it on autopilot. But the AI is never in control. You are. Even when you hand approval to an AI agent and let it run, the policies inside Blowhorn still decide what may happen, how fast, and when to stop.

This page gathers every worry people bring to a tool that posts as them, and answers each with the control that handles it, where that control lives, and the page that documents it.

Blowhorn limits itself to what a human could do

Any given Blowhorn install only runs one automation on a given platform for a given profile at a time. You wouldn't expect a human to have two browser windows open, typing into both at once, so Blowhorn doesn't either. It acknowledges that limit and holds itself to it.

Here is how that is enforced today:

  • One profile, one platform, one process. Before a run opens a LinkedIn, X, Reddit or Hacker News session for a profile, it takes a lock on that profile and platform on this Mac. A second run that wants the same profile on the same platform is refused with "profile ... is in use by another blowhorn process; wait for it to finish or stop it", and its rows stay in the queue for the next pass. The lock is the same whichever way Blowhorn reaches Chrome.
  • Scheduled work runs one job at a time. The background service runs one pass at a time, and a pass works through its jobs one after another, never side by side.
  • One send per action. The send control is clicked once. There is no retry click.

Coming soon: an option to go stricter still, so that only one automation runs on a platform at a time even across different profiles.

Will I get banned?

Nobody can promise that for any tool, and we won't. Platforms change their rules, and automation can still be blocked or sessions broken, especially on X. What Blowhorn does is behave like a careful person and stop instead of guessing:

  • It types and clicks like a person. Typing arrives key by key with a computed delay between keys, actions are separated by random pauses, and clicks land at slightly varied points with natural hover and press timing. You set the pace.
  • It caps itself. At most 2 Hacker News link submissions per profile per day, and at most 400 X follows per profile a day and 15 in any 15 minutes. --limit caps how many people a follow or accept run takes on, and how many jobs a scheduler pass runs.
  • It doesn't retry blindly. Within a run, Blowhorn doesn't retry a failed post; it moves on to the next item. If a post goes out but Blowhorn can't record it, it stops that profile's queue rather than risk posting twice. Scheduled jobs only re-run a failure if you turn on retries, and they're off by default.
  • It never solves a CAPTCHA or a 2FA prompt. When a platform asks for one, Blowhorn stops and leaves it for you. In a visible window it can wait while you finish it; unattended, the run stops.
  • It walks away from warnings. A LinkedIn invitation flagged "Take care when connecting" is skipped, never confirmed.

Read more in How Blowhorn paces itself and Why flagged invitations are skipped.

Will it post something I didn't mean to?

  • Nothing goes out unapproved. A content row is published only when its Approved? column reads yes or true. Anything else is a draft.
  • A row never widens. A blank or unknown Profile is refused, never read as "everybody". A row with Comment on set can only ever be a comment.
  • Rehearse first. --check-queue lists what a run would do, and --dry-run walks it end to end without publishing, following or writing anything. Make dry run your default until you trust a setup.
  • Stop it any time. Pause this Mac, every Mac in your organization, or one scheduled job, each with a reason. A job already running finishes first, because killing a browser mid-post can leave a half-done action on the platform.

Will it post twice?

  • One click per run. The send control is clicked a single time.
  • "Clicked, outcome not read" is not a retry. When Blowhorn clicked but could not read a confirmation, the row is recorded as clicked and held for you. It is neither sent again nor marked done.
  • One Mac per job. Every Mac sharing your organization's queue claims a scheduled job before it runs it, under a lease, so two Macs can't run the same job at once.
  • Done is recorded per profile. Date Promoted records when each profile published a row, so the next run skips it.

Read more in How Blowhorn avoids repeat posts.

Will it embarrass me?

  • No guessing at what landed. A post's link is recorded only when Blowhorn read it back. It never records the page it started on as the new post.
  • Hacker News is held to its own rules. Titles over 80 characters fail the row rather than being cut, Blowhorn never votes there, and a rate-limited run waits rather than retrying.
  • Your words, unchanged. Blowhorn's actions on these platforms are scripted, not written by AI. It types the text in your queue.

What if an AI agent is driving?

An agent drives Blowhorn the same way you do: through the queue and the documented CLI. Every rule on this page applies no matter who started the run. The rate caps, the one-at-a-time lock, the single send click and the refusal to solve a CAPTCHA are built in, not flags an agent can drop. Give the agent dry run first, keep Approved? as your gate, and pause any scope the moment something looks off. Lifting a pause takes blowhorn schedule resume, or an explicit --ignore-pause on a single run.

Every control, and where it lives

Control What it does Where it lives Reference
Dry run Walks a run without publishing, following or writing --dry-run on every action command; defaults.dry_run; Settings in the app Configuration, blowhorn post
Check the queue Lists what a run would do, opening nothing blowhorn post --check-queue blowhorn post
Approval gate Only approved rows are published The Approved? column of each content row Content queue
Pause Stops new claims on this Mac, every Mac, or one scheduled job blowhorn schedule pause, with --all or --row; the pause controls in the app's popover and console Pause and resume posting
Stop the current pass Ends the background service's pass at its next safe point; the row in progress returns to the queue blowhorn service cancel CLI reference
Pace How fast Blowhorn types and how long it pauses between actions --pace fast, normal, slow or a number; defaults.pace; Settings in the app Change your defaults
Pointer movement Turns the pointer movement before clicks on or off defaults.no_mouse_move; Settings in the app Configuration
Run size Caps how many people a follow or accept run takes on, and how many jobs a pass runs --limit on follow, accept and schedule tick CLI reference
Excluded profiles Leaves profiles out of --profile all --exclude; defaults.exclude; Settings in the app Change your defaults
Rate caps 2 Hacker News submissions per profile per day; 400 X follows per profile a day and 15 per 15 minutes Built in Platforms
No blind retries Within a run, Blowhorn doesn't retry a failed post; it moves on to the next item. If a post goes out but Blowhorn can't record it, it stops that profile's queue rather than risk posting twice. Scheduled jobs only re-run a failure if you turn on retries, and they're off by default. Built in; scheduled-job retries are opt-in How Blowhorn paces itself
One automation per platform per profile A second run for the same profile and platform on this Mac is refused Built in Chrome reference
One send per action The send control is clicked once; an unread outcome is held for you Built in How Blowhorn avoids repeat posts
One Mac per job A scheduled job is claimed by one Mac at a time Built in, through your organization's store How scheduling works
CAPTCHA and 2FA Left for you; never solved Built in Fix sign-in problems

Your Risk Profile

Think of your Risk Profile as the dials for how much risk you'll take and how fast you want things produced. Today those dials are separate settings: pace, pointer movement, run size, excluded profiles and dry run, alongside the caps Blowhorn always holds itself to. Set them cautious for a new account or an unattended run, and quicker for an established one you are watching.

Coming soon: a Risk Profile setting that sets those dials together in one choice.