Publish to Hashnode from Claude Code
Claude Code can publish posts on Hashnode through ClipSpeed. Add the ClipSpeed server with one command, sign in, and then ask Claude Code to publish posts, pick the time, and apply Hashnode's settings, without leaving the terminal, VS Code and JetBrains. Hashnode is on the roadmap on ClipSpeed's rail; this page describes how it works and says so.
Keep a human in the loop: Claude Code shows the plan and asks before anything is public. Posting today: YouTube, TikTok, Instagram, X (Twitter) and LinkedIn.
Also try
How to publish Hashnode from Claude Code
One terminal command registers the server. Start a session, run /mcp to sign in to ClipSpeed in the browser tab that opens, and every tool is available. Connect Hashnode in ClipSpeed, then describe the post. Setup takes about a minute.
# One-time setup (OAuth, no API key)
claude mcp add --transport http clipspeed https://api.clipspeed.ai/mcp
# Then ask Claude Code:
> Turn the design doc into a Hashnode post and publish Thursday 10am
Claude Code: Preview — nothing booked yet. Hashnode — title. Book it?Servers load at session start. If the tools do not appear, run claude mcp list, then start a new session.
- Run claude mcp add --transport http clipspeed https://api.clipspeed.ai/mcp in your terminal.
- Start claude and run /mcp. Pick clipspeed and authenticate; a browser tab opens for the ClipSpeed sign-in. Approve it.
- Ask it to list your channels. Claude Code calls list_channels and shows what is connected.
- Connect Hashnode in the ClipSpeed app, or ask Claude Code for a connect link: it is private, valid for ten minutes, and Hashnode signs you in itself.
Developer reference: the Claude Code MCP page.
What can Claude Code do on Hashnode?
On Hashnode, Claude Code can publish Markdown posts with tags and a cover to your Hashnode publication. Every booking runs through the same rules as the ClipSpeed app.
Text and Image posts
Hashnode takes text and image through ClipSpeed. Image: a cover image by URL.
Limits checked at booking
No fixed text limit. Titles are required and cap at 250.
Exact time or refused
Name the minute and Claude Code books it, or you are told why not and offered the next open slot. A booked Hashnode post is never moved behind your back.
Preview before anything posts
preview: true runs the whole booking and writes nothing. Claude Code shows the plan, with each slot and the day's remaining cap, and books only on your yes.
Clips cut in the same session
Submit a video or stream link, get captioned 9:16 clips with a viral score, and post the best moment's hook on Hashnode with a link to the clip. No download, no re-upload.
Pacing and numbers
Planned: Text posts on Hashnode are at least 120 minutes apart, up to 3 a day. After a post goes out, Claude Code can read back views and engagement where Hashnode provides them.
How does Claude Code post to Hashnode through ClipSpeed?
You describe what you want in plain language and Claude Code makes the ClipSpeed calls. A typical conversation has three beats.
Find your Hashnode channel
Ask Claude Code whether Hashnode is connected. It calls list_channels and reads platform_settings, so it also knows what Hashnode accepts and the limits before you write a word.
Compose within the rules
Describe the post. Claude Code drafts within Hashnode's limits; mention a clip or a file and it attaches it.
Schedule or publish
Name a time, or say now. The slot is booked exactly or refused with the next open one, and the reply carries the id you can cancel or edit by.
Hashnode settings reference
These are the schedule_post fields that apply to Hashnode. Mention any of them in plain language and Claude Code sets them; the server checks them at booking. Fields marked planned land with the Hashnode release.
| Field | Type | Required | What it does on Hashnode |
|---|---|---|---|
platforms | string[] | Yes | Include "hashnode". Up to ten platforms per call; each books its own slot. |
title | string | Yes | Up to 250 characters. |
text | string | Yes | The post body in Markdown. |
hashtags | string[] | No | Hashnode tags. |
publication | string | Planned | Which publication, when you have more than one. |
media_url | string | No | The cover image. |
scheduled_at | ISO 8601 | No | Exact or refused with the next open slot. |
preview | boolean | No | Plan only. |
Common Hashnode configurations
Ask Claude Code for any of these and it applies the matching settings.
Publish from a doc
Pick the publication
Generated cover
Preview
Example prompts for Hashnode in Claude Code
Type these into the terminal, VS Code and JetBrains, or pass one to release.sh in a script. Claude Code calls ClipSpeed and confirms before publishing.
Publish Hashnode with a scheduled time
Turn the design doc into a Hashnode post and publish Thursday 10am. Preview first.
Cut the clips, then post the hook
Clip this link, keep the top moment by viral score, and write a Hashnode post from the best moment's transcript, scheduled for tomorrow 9am. Show me the plan before booking.
From a script with Claude Code
claude -p "Summarise the changes since the last git tag as one Hashnode post with a title. Schedule it via ClipSpeed for today at 10am; preview first and book if nothing is refused."
Hashnode limits and gotchas to know
Hashnode enforces a few rules that Claude Code and ClipSpeed respect automatically, but knowing them helps you phrase requests.
- A title up to 250 characters is required; the body is Markdown.
- Posts go to a publication; if you have several, name one.
- Hashnode is on ClipSpeed's roadmap, not the next rail. Bookings are refused plainly until it posts.
- Canonical URL and subtitle are planned fields.
- Pacing is conservative: three posts a day two hours apart.
| Rule | Hashnode |
|---|---|
| Accepts | Text, Image |
| Text limit | No fixed limit |
| Title | 250 characters, required |
| Links in the caption | Kept; Markdown |
| Pacing | Planned: Text posts on Hashnode are at least 120 minutes apart, up to 3 a day. |
| Formats | Image: a cover image by URL. Aspect: 1600×840 cover |
| Status | On the roadmap; described here, not yet bookable |
What Postiz-style schedulers cannot do
Cut the clips first
Claude Code does not need finished video to start. Hand it a YouTube link, a podcast, a stream VOD or a local export. ClipSpeed finds the moments, cuts them to 9:16 with word-by-word captions, scores each one 0 to 100 for shareability, and returns them in the same conversation. Claude Code picks by score, writes the post from the transcript, and books the best moments as links on Hashnode. Three tool calls, one approval, no download and no re-upload.
- Clips arrive with a title written from the hook, a transcript and a viral score, so the agent can choose and caption without watching the footage.
- Live streams can be clipped while they are still on air; the agent books the highlights for the next morning before the stream ends.
- Every clip is already hosted, so
schedule_posttakes its id directly. Nothing moves through your laptop.
submit_to_clipspeedPaste the link. ClipSpeed starts the job and returns a project id.check_clipsPoll with the project id. Back come the finished 9:16 clips with titles, transcripts, viral scores and preview links.schedule_postPass the clip id, the platforms, a caption and a time. Claude Code shows the plan with preview: true, you say yes, it books.generate_image or generate_videoDescribe the shot. ClipSpeed runs it on the model that fits (Seedance, Kling, Veo, Nano Banana Pro, GPT Image and others) and quotes the credits first.wait_for_generationReturns the hosted result link and a preview the agent can show you.schedule_post with media_urlThe result link goes straight into the booking on Hashnode. The caption, the time and the file are approved together.The other half nobody else has
Generate the image, then post it
A product shot for Instagram, a 16:9 announcement graphic for X, a six-second opener before a clip: Claude Code can make an image with ClipSpeed's image and video models and book the result in the same reply. There is no separate design tool, no export, no upload page. The generated file is hosted, so media_url is the only thing the booking needs.
- The price in credits is quoted before anything renders, within the per-generation and daily caps you set in Settings.
- Results are previewed in the conversation, so you approve the picture and the post at once.
- Images post as JPG, PNG or WebP up to 25 MB; links are kept clickable.
What is Claude Code?
Claude Code is Anthropic's agentic coding tool. It runs in your terminal, with extensions for VS Code and JetBrains, reads your codebase, runs commands and calls MCP tools to finish multi-step work. With ClipSpeed registered as an MCP server, it can also clip a video, generate images and video, and schedule posts to your connected platforms from the same session, or from a script with claude -p.
How ClipSpeed works with Claude Code
- claude mcp add registers the HTTP server; /mcp in a session completes the OAuth sign-in
- Claude Code discovers the ClipSpeed tools at session start and chains them:
submit_to_clipspeed→check_clips→schedule_post platform_settingsis read before composing so X's 280 and YouTube's 100-character title are met the first time- A time you name is booked exactly or refused with the next open slot; a taken slot is never silently moved
- Works with Claude.ai, Console, Bedrock and Vertex AI accounts; the ClipSpeed sign-in is separate and OAuth
Claude Code vs Claude Cowork vs the Claude connector: Claude Code (terminal, vs code, jetbrains), Claude Cowork (claude desktop), Claude (claude.ai) (browser, desktop, mobile). This page is about Claude Code; the Claude Code guide compares them.
# Register the server (OAuth; sign in with /mcp inside a session)
claude mcp add --transport http clipspeed https://api.clipspeed.ai/mcp
# No browser on this machine? Use an API key header instead
export CLIPSPEED_API_KEY="csai_live_..."
claude mcp add --transport http clipspeed https://api.clipspeed.ai/mcp \
--header "Authorization: Bearer $CLIPSPEED_API_KEY"
# Verify
claude mcp list
claude "List my connected ClipSpeed channels"# What the agent reads at connect time (tool descriptions, abridged)
list_channels Connected platforms, what each accepts, limits, your time zone
connect_channel A private 10-minute link to connect one platform
platform_settings Limits, title rules, link handling, pacing per platform
schedule_post clip_id | text | media_url → platforms[], scheduled_at, preview
list_scheduled_posts Scheduled, sending, posted, failed — with post links
update_scheduled_post Edit copy while still scheduled (the time never moves)
cancel_scheduled_post Cancel; undoable 72 h in the app
post_analytics Views, likes, comments, shares where the platform gives them
submit_to_clipspeed Start clipping a video or stream link → projectId
check_clips Finished 9:16 clips with titles, transcripts, viral scores
generate_image / generate_video / wait_for_generation
# Hashnode: text/image · text n/a · title 250 requiredPublish to Hashnode and other platforms from Claude Code
One request can book the same content to Hashnode and other channels, each keeping its own settings and its own slot. Every platform below has its own Claude Code guide.
Also works with
Hashnode and Claude Code: frequently asked questions
How do I publish to Hashnode from Claude Code?
Run claude mcp add --transport http clipspeed https://api.clipspeed.ai/mcp in your terminal. Start claude and run /mcp. Pick clipspeed and authenticate; a browser tab opens for the ClipSpeed sign-in. Approve it. Connect Hashnode in ClipSpeed (or ask Claude Code for a connect link; it is private and valid for ten minutes), then describe the post in plain language. Claude Code reads the Hashnode rules, drafts within them, shows the plan and books on your yes. Hashnode is on the roadmap; until the badge changes, the booking is refused with a plain message.
What can Claude Code post to Hashnode through ClipSpeed?
Publish Markdown posts with tags and a cover to your Hashnode publication. Hashnode takes text and image posts. A title is required and is capped at 250 characters.
Which Hashnode settings can Claude Code control?
The fields in the settings reference above: title, text, hashtags, publication, media_url, scheduled_at, preview. Mention any of them in plain language ("unlisted", "tomorrow at 9", "preview first") and Claude Code sets the matching field before it books.
Do I need a Hashnode API key or developer account?
No. You connect Hashnode to ClipSpeed once through Hashnode's own sign-in, and Claude Code talks to ClipSpeed over OAuth. No Hashnode developer key, bearer token or password is pasted anywhere.
How many Hashnode posts a day can Claude Code schedule?
Planned: Text posts on Hashnode are at least 120 minutes apart, up to 3 a day. When a time is taken, the booking is refused with the next open slot rather than moved. Ask for preview to see a day's plan and the remaining cap before anything is booked.
Can Claude Code post to Hashnode from a script or a cron job?
Yes. Claude Code's headless mode (release.sh) runs one prompt and exits, and the ClipSpeed server registered on that machine does the booking. On a runner with no browser, authenticate with a ClipSpeed API key header. Keep preview on so the run reports a plan before it books.
Is posting to Hashnode from Claude Code different from Claude Cowork?
The booking is identical: the same rules, the same calendar, the same refusals. What differs is where you work. Claude Code: terminal, vs code, jetbrains; headless with claude -p. Claude Cowork: claude desktop, works with local folders and desktop apps, no terminal.