Reddit comment replies agent

One Reddit thread a day gets a comment worth reading. A person posts it, or the agent does.

The founders we want to reach ask their questions on Reddit, in the open: how do I show up in ChatGPT, why does Perplexity recommend my competitor, is AI search traffic real. A useful comment under one of those posts is read by everyone who finds the thread for months. Reading the right subreddits every day, picking a post where there is something true to add, and writing a comment that is not a pitch takes an hour nobody has, so it does not happen; and a new account that comments carelessly is removed or banned.

Running on our own company since Oct 16, 2026 · Reddit · Risk: High. Everything on this page is public; there is nothing to sign in for.

Goes inThe hot listing of three subreddits where founders and SEO people ask about AI search, read through a dedicated Chrome signed in as the account
Comes outOne comment of one to four sentences, no link and no product name, and one ledger row, which this log is built from
Human stepWith publish off, every run: someone reads the emailed comment and pastes it in, or not. With publish on, nobody on a normal day; a refusal or a removal is emailed, never retried
Runs onA machine you control, once a day at a random minute of a late-morning window, through a Chrome profile a person signed in once

Tasks and outputs

What it takes on

Find the post

Reads three subreddits through the signed-in Chrome, filters by rule (age, reply count, author, subreddit rotation, promotion words, the ledger), and ranks the rest by topic words and recency.

A ranked list

Write the comment

Reads the thread and the subreddit’s rules, writes one to four sentences that answer the post’s point and add one thing we measured, and runs the checklist.

One comment, no link

Record, then post or hand over

Writes a ledger row, then types the comment into the post’s comment box and reads its permalink back, or emails it to a person. The next run settles the row from Reddit.

Ledger row + one email

Who it is for: Founders and small teams who want their Reddit account to be a useful regular in the subreddits their buyers read, one comment a day, with the choice of posting each comment themselves or letting the agent post from a browser they signed in once.

How we use it: We built it for our own Reddit account in October 2026 and rehearsed it the same day. Every day, at a random minute of the late morning, it reads three subreddits where founders and SEO people talk about AI search, picks one post, reads the thread and the subreddit’s rules, and writes one comment: no link, no product name, nothing we did not measure ourselves. For the first weeks the comment is emailed to a person who pastes it in; the ledger behind the run log records every comment it wrote, posted or not, and what Reddit did with it.

Workflows/reddit-comment/voice.mdRules the comment is written to

What a comment looks like

01One to four sentences, 700 characters or fewer. The first sentence answers something specific in the post, in one of its own words.

02Exactly one addition: a number we measured, an observation that runs against the obvious, or a question. Not already in the thread.

03The thread’s register: length, tone, the terms the thread uses. A thread of one-liners gets a one-liner. Nothing a top comment already said.

04True, and ours: every fact defensible, every experience our own work. Never a story made up to sound like a user.

05No link, ever. No product and no brand in nurture mode, which is the only mode of the scheduled run; by hand in promote mode, one clause, with the affiliation disclosed in the same breath, only where the subreddit’s rules allow it.

06None of the banned words, no em or en dash, no list, at most one emoji. No corrections, no arguments, no comment under a competitor’s post. The subreddit’s rules, as printed by the thread read, are followed, not interpreted.

Read from the voice guideOne a day, at a random minute

The rules the agent’s output is written to, from the file named above. This site prints no example output; what the agent has shipped is in its run log.

Workflow

How a run goes, step by step

Pick a step to see what goes in, what comes out, and where a person is involved.

Step 1 of 6

Chrome up, ledger reconciled

Once a day, at a random minute inside a three-hour late-morning window, the wrapper starts. It brings up the dedicated Chrome if it is down, restarts it once if it answers but cannot be driven, and checks that the tab is signed in as the account. Then it reads Reddit for every earlier row: a posted comment’s score, or that it was removed; a comment handed to a person, found under the post or not after 48 hours.

Goes in

The ledger and what is on Reddit

Comes out

Settled rows

Where a person steps in

When the tab is signed out, the run stops and emails: a person signs in to Reddit in that window once. Nothing in the agent signs in or solves a challenge.

Step 2 of 6

Read three subreddits

The hot listing of three subreddits from the configured list, the ones least recently commented in and none that got a comment yesterday, read through the signed-in tab the way the site reads them for itself. The filter drops stickied, locked, archived, NSFW, image and megathread posts, promotion words, posts outside the three-to-150-replies and 48-hour windows, our own account, authors commented under this week, and posts already in the ledger. What is left is ranked by topic words, a question in the title, recency and reply count.

Goes in

Workflows/reddit-comment/config.md

Comes out

A ranked list of candidate posts, or none

Where a person steps in

When nothing passes, the run emails a line and stops. Three empty days in a week are the signal for a person to change the subreddit list or the topic words.

Step 3 of 6

Pick one post, read the thread and the rules

A session that can read the repository and run the read scripts, and nothing else, picks one post the way a person would: a founder or practitioner asking something a measured number speaks to, never a vendor’s ad or a thread that is already an argument. It reads the post, up to 20 of the comments under it, and the subreddit’s rules; a rule against new accounts, links, self-promotion or AI-written content is followed, and a post the rules refuse is dropped for another.

Goes in

The candidates

Comes out

One post, its thread, its subreddit’s rules

Where a person steps in

Nobody in this step. A day with no post worth a comment gets no comment.

Step 4 of 6

Write the comment and check it

One to four sentences to the voice guide: answer the specific point, add one thing we measured, match the thread, no link, no brand, nothing invented. The checklist is run before anything is recorded; a comment that fails twice is dropped, never forced. The ledger itself refuses a link, the brand, a draft over the length, a second row for the day, an author from this week, or yesterday’s subreddit.

Goes in

The thread and Workflows/reddit-comment/voice.md

Comes out

One draft

Where a person steps in

Nobody; the checklist and the ledger’s refusals are the gate.

Step 5 of 6

Record, then post or hand over

The ledger row is written first, dated now. With publish on, the posting script opens the post on old.reddit.com in the same Chrome, checks the tab is still signed in as the account, types the comment into the comment box, clicks save, and waits for the comment to appear under the post by our account with its permalink; failing that it reads the account’s own comment history once. A rate limit, a challenge or a missing comment box is recorded as a refusal with its reason. With publish off, nothing is typed: the comment and the post’s link go to a person by email.

Goes in

The draft and the post

Comes out

A posted comment with its permalink, or an email

Where a person steps in

With publish off, every run: the person pastes the comment in from the account, or does not. With publish on, only when Reddit refused: the email carries the reason and the text.

Step 6 of 6

Commit, deploy, settle

The ledger is committed and pushed; after a posted comment the deploy is triggered so the record shows here the same day. The run writes a one-line note to its log on the machine and a watchdog emails if a run ends badly or never starts. The next run’s reconcile reads the comment back: its score once a day for 30 days, a removal with its reason, a handed-over comment found under the post, or a row nobody posted marked skipped.

Goes in

The ledger

Comes out

This log

Where a person steps in

Nobody. A removed comment is a record, not an error; two in the same subreddit are the signal to take it off the list.

Before you start

What you’ll need to bring

Company material

The numbers you can put in a comment: your own measured findings, in files the agent can read. A comment with a real number in it is the one thing nobody else in the thread has.

Source material

A list of subreddits where your buyers ask their questions, and the topic words that mark a post you have something to say about.

Platform account

A Reddit account, signed in once in a Chrome profile used for nothing else. A new account works; subreddits with a karma floor will remove its comments until it has some, and the log shows that as removed.

Run environment

A machine that is on in the morning: Node.js for the scripts, an agent runner that follows a written workflow for the writing step, a scheduler, and an email sender. We use Claude Code under Windows Task Scheduler.

Run log

Recent runs, as they happened

The full log is public and read-only. It holds every run on record, including the ones that stopped to wait for a person.

View the full run log

Guides and files

Set it up yourself

The setup guide, and the files the agent is built from. You run it in your own environment, with your own accounts.

Open · no account neededA Claude Code workflow (markdown instructions), a voice guide, a configuration file, seven Node scripts (the browser attachment, the search, the thread read, the posting step, the reconcile, the ledger and the email) and the wrapper the scheduler runs, plus a script that starts or restarts the dedicated Chrome. Not packaged for public download yet — the setup guide below describes what they do; the managed tier runs it for you today.
Setup guide
  1. 01

    Runtime

    • Node.js 20 or later, with two dependencies installed in the scripts’ folder: the browser driver (which attaches to a running Chrome and downloads nothing) and the email client.
    • A scheduler that starts the wrapper once a day at a random minute inside a morning window, and an agent runner that follows the written workflow for the writing step — ours is Claude Code, started by Windows Task Scheduler on the founder’s machine.
  2. 02

    Browser setup

    • A Chrome profile used for nothing but this, started with remote debugging on a fixed port by the agent’s own script, and signed in to Reddit by a person once. Never the everyday browser, and no flag that hides automation: if Reddit challenges the session, that is a signal to slow down.
    • The scripts read Reddit’s JSON endpoints from inside that signed-in tab and type the one comment into the plain comment box on old.reddit.com, which has not changed in years.
  3. 03

    Account setup

    • A Reddit account the comments come from. A new one works, but subreddits with a karma floor will remove its comments silently; the reconcile records that as removed, and the subreddit list is what to change.
    • An email sender verified in SES and an inbox the comment goes to; ours are the ones the site’s lead form already uses.
  4. 04

    Configuration

    • The configuration file: the account, the daily cap (one), the age and reply-count windows, how many subreddits one run reads and the cooldowns per subreddit and per author, the longest comment, whether the run posts or a person does, whether promote mode is allowed by hand, and where the email goes.
    • The subreddit list and the topic words: the places your buyers ask, and the words that mark a post you have something measured to say about.
    • The voice guide: length, the one-addition rule, the banned words, the no-link rule, the no-brand rule for nurture, and the disclosure rule for promote.
  5. 05

    First run

    • Run the search once and read what comes back; if nothing in it is a post you would comment under by hand, change the subreddits before anything else.
    • Run the wrapper in dry-run mode: it writes its rows to a scratch file, types the comment into the box, takes a screenshot and never clicks. Read the comment; if it is correct but dull, the voice guide or the reports it draws numbers from are what to fix.
    • Keep publish off for the first days and post the emailed comments yourself; flip it on once you would have posted every one unchanged.
Files · 13

reddit-comment.md

Workflow · Markdown. The steps: browser check and reconcile, quota, search, pick, read, write, record, post or hand over, report.

Workflow

voice.md

Voice guide · Markdown. Length, the one-addition rule, the truth rule, the banned words, the no-link, no-brand and disclosure rules, the checklist.

Voice guide

config.md

Configuration · Markdown. The account, the daily cap, the windows and cooldowns, publish and promote switches, the Chrome profile, the subreddit list, the topic words, the email address.

Configuration

browser.mjs

Script · Node. Attaches to the dedicated Chrome, reads Reddit’s JSON from the signed-in tab, says who the tab is signed in as.

Script

search.mjs

Script · Node. The subreddit rotation, the hot listings, the filter and the ranking; writes the candidates file the session reads.

Script

read.mjs

Script · Node. One post, its subreddit’s rules and the comments under it, as text for the writing step.

Script

post.mjs

Script · Node. The one write: types the comment into the post’s comment box, clicks save, reads the permalink back, flips the ledger row.

Script

reconcile.mjs

Script · Node. Settles earlier rows from Reddit: scores, removals, comments a person posted by hand, rows nobody posted.

Script

ledger.mjs

Script · Node. Appends and updates rows, with the format module it shares with the website, which builds this log from the file.

Script

notify.mjs

Script · Node. Emails the written comment with the post’s link, or the posted comment’s link, or a one-line note.

Script

chrome.ps1

Browser · PowerShell. Starts, checks or restarts the dedicated Chrome on its debug port; stops only that profile’s processes.

Browser

run-reddit-comment.ps1

Scheduler · PowerShell. The daily run: lock, pull, Chrome, reconcile, quota, search, the writing session, post or hand over, email, one commit of the ledger.

Scheduler

comment-log.md

Ledger · Markdown. One row per written comment: date, time, subreddit, target, author, draft, status, comment link, score, last read, note. The file this log is built from.

Ledger

Not packaged for public download yet. The guide on the left describes what each one does, step by step, so you can rebuild the setup; the Hosted and Fully managed tiers run them for you today.

Rather have us run it?

Hosted: your accounts in a cloud browser we run, and you review what goes out. Fully managed: we set the strategy and run the agents.

Good to know

Where it stops and asks for you

  • The dedicated Chrome is signed out. The run stops before reading anything and emails; a person signs in to Reddit in that window. The agent never signs in itself.
  • Today’s cap is already met. The run stops before reading; one comment a day is the cap, and a run by hand earlier counts.
  • Nothing passed the filter, or no candidate was worth a comment. The run emails a line and stops. It does not widen the window or lower the bar.
  • Reddit refused the comment: a rate limit, a challenge, no comment box. The row is marked failed with the reason and the comment is emailed to a person, who can post it by hand. Nothing is retried.
  • The comment was emailed but nobody posted it. Forty-eight hours later the reconcile marks the row skipped. That is a record, not an error.
  • The comment was posted, then removed. The reconcile marks the row removed with the reason it can read. The subreddit list is what to change if it repeats.

Risk notice

What to watch for

  • Reddit removes self-promotion and bans accounts that read as bots, and a ban is the whole account, not one comment. One comment a day, one per author per week, one subreddit a day, no link ever, no brand in nurture, the subreddit’s rules read before every comment, and nothing retried: the pace is the control.
  • Browser automation is against Reddit’s terms for the account, the same as for the Reddit posting agent. We keep the account’s risk its own: a dedicated profile, Chrome started the ordinary way, and a person’s option to post every comment by hand instead.
  • A comment is written by an agent and, with publish on, nobody reads it before it goes out. The controls are the voice guide, the checklist, the ledger’s refusals and the reconcile; the first weeks run with publish off so a person reads every one.
  • Reddit’s pages change rarely on the old layout, but a change there would stop the posting step; the run records the failure and emails it rather than guessing at a new selector.

FAQ

Questions about this agent

Why does it read through a browser instead of the Reddit API?

Reddit answers a bare HTTP client with 403 and gates its API behind an app review for anything commercial. A tab a person signed in to, making the same requests the site makes for itself, is the one path that needs no application and no evasion. The one write is typed into the same comment box a person uses.

The comment was removed.

The reconcile marks the row removed with the reason it can read. From a new account that is usually a karma floor or an automated filter, not the text; take the subreddit off the list until the account has some karma there, and read the subreddit’s rules, which the thread read prints before every comment.

Reddit said the account is doing that too much.

A new account is rate limited to a comment every several minutes, and sometimes longer. The run records the refusal and stops; it never retries. One a day is the cap for a reason.

Can it name our product?

Not on its own. The scheduled run is nurture only: the ledger refuses a draft that names the brand. By hand, with promote switched on in the configuration, one clause may name it and must say in the same breath that we make it, and only where the subreddit’s rules allow it. A product mention in a user’s voice is astroturfing and is not what this agent does.