How a blog post is written
The five stages behind every autoblog post, where the image comes from, and how to choose between the desktop runner and the cloud writer.
Autoblog writes the blog posts for a website on a schedule you set. This page is about what actually happens when one runs — how it is written, where the image comes from, and what to do when a post is stuck.
Each attempt to write one post is a dispatch. It is minted by the platform, claimed by a runner, drafted, reported and then published. The badge on the schedule card is the state of the newest dispatch.
Before you start
You need an Autopilot schedule, a Builder project with a connected GitHub repository, and either the Zyan desktop app (version 1.2.67 or newer, signed in, with the project folder bound) or Cloud fallback for waiting drafts switched on.
The five stages
Mint
The platform creates the dispatch for the next slot
Claim
A runner picks it up — your desktop app, or the cloud writer
Draft
Claude writes the post in one turn, with its full toolset
Report
The run reports what it wrote, including the image it chose
Publish
An edge publisher commits it in the publish mode the schedule sets
Where the post is written
There are two lanes, and the difference is who pays.
| Desktop runner | Cloud writer | |
|---|---|---|
| Runs on | Your own machine, in the bound project folder | Zyan's infrastructure |
| Cost | Your existing Claude subscription — no API spend | Your API credits |
| Requires | The desktop app open, signed in, folder bound, 1.2.67 or newer | Nothing to be open |
| Run length | Long runs are normal; timeouts can be saved up to 240 minutes | Shorter, bounded runs |
With Prefer desktop runner on and no desktop open, drafts wait
They do not silently move to the cloud. A post sits waiting until a capable desktop appears — or until you arm Cloud fallback for waiting drafts, which sends it to the cloud writer after a few minutes and uses your API credits. A desktop older than 1.2.67 never claims blog drafts at all, so the post waits as if no desktop were open.
Choosing and checking the lane
Open the website's Settings tab
SettingsContent & page rulesAdvanced.
Leave Prefer desktop runner for blog drafts on
It is on by default, and it is the free lane.
Read the status line underneath
It names the current desktop state and, if a draft is being skipped, the reason. It is a one-shot read — use Check again to refresh it.
Decide on cloud fallback
Turn Cloud fallback for waiting drafts on if a post going out matters more than the API cost.
Click Save all
| Setting | What it changes | Default |
|---|---|---|
| Prefer desktop runner for blog drafts | Drafts run on an open desktop's Claude subscription with the project folder bound, with no API spend. | On |
| Cloud fallback for waiting drafts | After a few minutes with no desktop, sends the draft to the cloud writer. Uses your API credits. | Off |
| Writer model | The model the writer uses. Left empty on the desktop lane, the signed-in subscription's own default model runs. | — |
| Content guidelines | Extra writing direction handed to the writer on every run. | — |
| Effort | Reasoning effort for the writer. | — |
| Max turns | Maximum agent turns per run. | — |
| Timeout minutes | The run time limit. Local runs can be saved up to 240 minutes. | — |
The image
The writer finds and places the post's image during the same writing turn. There is no separate image step, no approval queue and no prompt asking you to pick one.
It looks at images you have uploaded under the project's image folder first, and uses one when it genuinely fits. Otherwise it sources an image from the web.
What the published image does not carry
No caption, credit line, source link or licence note is rendered under or beside the image. Alt text is the only text the image carries on the page. Provenance is recorded internally and shown in the post drawer, so you can always see where an image came from — but the published page does not display it.
If you want the client's own photography used, upload it to the project before the schedule runs. That is the whole workflow.
Reading post states
The Latest post box on the schedule card shows the newest dispatch. The full list is under ContentDrafts, with the month's posts on Schedule.
| State | Means | What to do |
|---|---|---|
| Waiting | No runner has claimed it | Open the desktop app, or arm cloud fallback |
| Drafting | A runner is writing it | Nothing. Local runs can be long |
| Held before drafting | Stopped before any writing happened | Re-draft to run it now, or Delete |
| Awaiting review by design | The post is waiting in a pull request | Open the post and review the pull request |
| Failed or timed out | The run did not finish | Retry |
| Silent local run | The local run stopped reporting | Retry now |
| Published | Committed to the repository | Check it is actually live — see Publishing |
Nothing was written for a held post, so re-drafting costs you nothing extra. It runs through the schedule's own dispatch path in its configured publish mode.
Deleting a held post also removes the client's task
If the schedule creates client Content Center tasks, deleting a held post hides its task as well as the post and its run. That is usually what you want, but the client's calendar changes as a result.
What a long run means
A local run taking a long time is normal. The writer has the full toolset for one writing turn and the local timeout can be set as high as 240 minutes. A run that has not reported for a long stretch is a silent local run, which has its own Retry now action — that is the signal to act on, not elapsed time by itself.
Cost
| Item | Cost |
|---|---|
| A draft on the desktop lane | None — it runs on your Claude subscription |
| A draft on the cloud lane | Your API credits |
| Sourcing the post's image | None |
| The publish readiness check | None |
| Re-drafting a held post | Nothing extra — nothing had been written |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| A scheduled post never starts | Prefer desktop runner is on and no bound desktop is open, or it is older than 1.2.67 | Open and sign into the desktop app, bind the folder, use Check again; or arm cloud fallback |
| The status line looks out of date | It is read once, not polled | Click Check again |
| Topics are generic and the card says Limited SEO evidence | The run found no cached SEO opportunities and fell back to a generic topic | Run setup and research for the website, then use Preview topic ideas |
| A post sits at Awaiting review by design | The schedule publishes via Review PR | Review and merge the pull request, or change the publish mode |
| A local run goes quiet | The runner stopped reporting | Retry now on that post |
| The image is not the one you wanted | The writer chose it during the writing turn | Upload the images you want used to the project before the next run |