Automate Hashnode with Claude Cowork
Publish blog posts to Hashnode, manage publications, add cover images and canonical URLs, and tag your content — all from the command line or through your AI agent.
Please make sure there is always a human in the loop.
Publish to Hashnode in Seconds
Terminal
# Install the skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Find your Hashnode integration
postiz integrations:list
# Publish a blog post to Hashnode
postiz posts:create \
-c "Article body..." \
-s "2025-01-15T10:00:00Z" \
--settings '{"title":"My Post","publication":"pub-id","tags":[{"value":"tag-id","label":"JavaScript"}]}' \
-i "hashnode-id"Hashnode-Specific Features
Blog Publishing
Publish long-form blog posts with full Markdown support. Code blocks, embeds, and rich formatting work out of the box.
Publication Support
Publish posts under your Hashnode publication. Every post requires a publication ID to target the right blog.
Cover Images
Upload and attach cover images to make your posts stand out. Eye-catching visuals drive more clicks from the Hashnode feed.
Canonical URLs
Set canonical URLs for SEO when cross-posting from your original blog. Avoid duplicate content penalties across platforms.
Required Tagging
Hashnode requires at least one tag per post. Tags use tag IDs for precise categorization and improved discoverability.
Scheduled Publishing
Schedule blog posts for future publication with precise timestamps. Build a consistent publishing cadence effortlessly.
How It Works
Find Your Hashnode Integration
List your connected accounts and grab your Hashnode integration ID. You can also fetch available settings to see what options are supported.
Discovery
# List all integrations
postiz integrations:list
# Filter for Hashnode
postiz integrations:list | jq \
'.[] | select(.identifier=="hashnode")'
# Get Hashnode settings schema
postiz integrations:settings <hashnode-id>Prepare Your Content
Write your blog post in Markdown. Hashnode supports rich formatting including headers, code blocks with syntax highlighting, images, and embedded content. Optionally upload a cover image.
Upload
# Upload a cover image (optional)
RESULT=$(postiz upload cover.png)
IMAGE_PATH=$(echo "$RESULT" | jq -r '.path')
IMAGE_ID=$(echo "$RESULT" | jq -r '.id')
echo "Cover: $IMAGE_PATH"
# https://uploads.postiz.com/cover.pngPublish Your Post
Create a post with your content, title, publication, tags, and optional cover image and canonical URL. Remember: publication and at least one tag are required.
Publish
postiz posts:create \
-c "Article body..." \
-s "2025-03-01T09:00:00Z" \
--settings '{
"title": "Getting Started with Bun",
"subtitle": "A fast JavaScript runtime",
"main_image": {
"id": "img-id",
"path": "https://uploads.postiz.com/cover.png"
},
"canonical": "https://myblog.com/bun",
"publication": "pub-id",
"tags": [
{"value": "js-tag-id", "label": "JavaScript"},
{"value": "bun-tag-id", "label": "Bun"}
]
}' \
-i "hashnode-id"Hashnode Settings Reference
Every Hashnode post accepts these platform-specific settings via the --settings flag.
| Field | Type | Description |
|---|---|---|
__type | string | Must be "hashnode" |
title | string | Article title (min 6 characters) |
subtitle | string | Article subtitle (min 2 characters) |
main_image | object | Cover image: {id: string, path: string} |
canonical | string | Original URL for SEO canonical link |
publication | string | Publication ID (required) |
tags | array | At least 1 tag: [{value: string (tag ID), label: string}] |
Common Configurations
Copy-paste these settings for common Hashnode publishing scenarios.
Basic Blog Post
settings.json
{
"title": "Understanding React Server Components",
"publication": "my-publication-id",
"tags": [
{"value": "react-tag-id", "label": "React"},
{"value": "nextjs-tag-id", "label": "Next.js"}
]
}Full-Featured Post with Cover Image
settings.json
{
"title": "Complete Guide to Node.js Streams",
"subtitle": "Master streams for high-performance I/O",
"main_image": {
"id": "img-abc123",
"path": "https://uploads.postiz.com/streams-cover.png"
},
"publication": "my-publication-id",
"tags": [
{"value": "nodejs-tag-id", "label": "Node.js"},
{"value": "backend-tag-id", "label": "Backend"},
{"value": "tutorial-tag-id", "label": "Tutorial"}
]
}Cross-Posted Article with Canonical URL
settings.json
{
"title": "Why We Migrated to Bun",
"subtitle": "Our experience switching JavaScript runtimes",
"canonical": "https://engineering.mycompany.com/migrating-to-bun",
"publication": "company-blog-id",
"tags": [
{"value": "bun-tag-id", "label": "Bun"},
{"value": "javascript-tag-id", "label": "JavaScript"},
{"value": "devops-tag-id", "label": "DevOps"}
]
}What is Claude Cowork?
Claude Cowork is Anthropic's agentic AI tool for knowledge workers. It runs on your desktop, connects to local files and apps like Google Drive, Gmail, and DocuSign, and completes multi-step tasks autonomously.
Desktop Native
Claude Cowork runs directly on your desktop, connecting to your local files and apps. No browser or cloud setup needed to manage your social media workflow.
App Integrations
Connects to Google Drive, Gmail, DocuSign, and more. Pull content from your existing tools and publish it to social media seamlessly.
Autonomous Tasks
Schedule recurring tasks with cron jobs. Claude Cowork can publish your Hashnode posts on a schedule without you having to ask each time.
How Postiz Works with Claude Cowork
Claude Cowork discovers Postiz through MCP (Model Context Protocol) tool integration. Once configured, it can call Postiz commands directly from your desktop — no terminal needed.
- ✓Install Postiz Agent and set your POSTIZ_API_KEY
- ✓Claude Cowork discovers Postiz through MCP integration
- ✓All Postiz commands become available as tools
- ✓Claude Cowork autonomously chains commands for complex workflows
- ✓Works seamlessly with your existing desktop apps and files
Install Postiz
# Install the Postiz skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Claude Cowork discovers Postiz
# through MCP tool integration
# and can call all commands directlyHashnode Publishing with Claude Cowork
Message Claude Cowork from any platform — it reads the Postiz skill, discovers your Hashnode integration, and handles the entire publishing workflow autonomously.
From Any Chat App
Tell Claude Cowork what to post from you...
Send a message to Claude Cowork from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Hashnode blog via Postiz, formats the post, and publishes it — all while you go about your day.
Claude Cowork
You: Post to Hashnode about our new
feature launch, schedule for tomorrow
at 9am
Claude Cowork: I'll handle that for you.
1. Found your Hashnode integration
2. Composing your post
3. Scheduling for tomorrow at 9:00 AM
Done! Your post is scheduled.
Post ID: abc-123Scheduled & Proactive
Claude Cowork can be asked to perfo...
Claude Cowork supports cron-based heartbeat tasks. Set up a recurring job that checks a folder for new Markdown drafts and publishes them to Hashnode automatically — no manual trigger needed.
Claude Cowork Task
Tell Claude Cowork:
"Every weekday morning, check my
~/content/drafts folder for new posts
and schedule them to Hashnode
for noon today. Move published drafts
to ~/content/published."
Claude Cowork will autonomously:
1. Monitor your drafts folder
2. Read and format each post
3. Schedule via Postiz
4. Move files when doneWhy Claude Cowork + Postiz for Hashnode
Claude Cowork makes Postiz a natural fit for your Hashnode workflow. The agent discovers all available commands and autonomously chains them together.
- ✓Desktop-native — no terminal or CLI knowledge needed
- ✓Connects to your local files to pull content for Hashnode posts
- ✓Multi-step autonomy — handles discovery, composition, and scheduling
- ✓Works with Google Drive, Gmail, and other desktop apps
- ✓Cross-post to Hashnode + other platforms in a single request
- ✓Powered by Claude — Anthropic's most capable AI model
SKILL.md (auto-discovered)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including Hashnode
metadata:
claude-cowork:
requirements:
env:
- POSTIZ_API_KEY
binaries:
- postiz
---
# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>
# Hashnode Settings
title, subtitle, main_image,
canonical, publication, tagsAlso Works with OpenClaw
Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including OpenClaw, the open-source personal AI agent.
OpenClaw
Open-source AI agent
Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your Hashnode integration, uploads your cover image, resolves publication and tag IDs, and publishes the post.
OpenClaw
> Publish my Node.js streams guide to
Hashnode with a cover image and tags
Claude will automatically run:
postiz integrations:list
postiz upload ./streams-cover.png
postiz posts:create \
-c "$(cat streams-guide.md)" \
-s "2025-03-02T09:00:00Z" \
--settings '{"title":
"Complete Guide to Node.js Streams",
"publication":"pub-id",
"main_image":{"id":"...",
"path":"uploaded-url"},
"tags":[{"value":"nodejs-id",
"label":"Node.js"},...]}' \
-i "hashnode-id"Hashnode + Other Platforms
Publish the same article to Hashnode and other platforms in a single command. Each platform gets its own settings.
Terminal
# Cross-post an article to Hashnode and Dev.to
postiz posts:create \
-c "$(cat article.md)" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"title": "Understanding WebSockets",
"publication": "my-pub-id",
"canonical": "https://myblog.dev/websockets",
"tags": [
{"value": "websocket-tag-id", "label": "WebSockets"},
{"value": "backend-tag-id", "label": "Backend"}
]
}' \
-i "hashnode-id,devto-id"
# Batch schedule a week of Hashnode posts
for day in 1 2 3 4 5; do
postiz posts:create \
-c "$(cat posts/day${day}.md)" \
-s "2025-03-0${day}T10:00:00Z" \
--settings '{"title":"Day '"$day"' Deep Dive","publication":"my-pub-id","tags":[{"value":"series-tag-id","label":"Series"}]}' \
-i "hashnode-id"
doneStart publishing to Hashnode
Install Postiz Agent and automate your Hashnode content strategy with AI-powered scheduling and publishing.
Ready to get started?
Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.
Open-source social media scheduling tool