Claude Code talks to iHatePosting's hosted server directly, so there is nothing to install. Ship a release, then ask Claude Code to write the announcement, check it against X's and LinkedIn's limits, and schedule it for the morning.
How do I connect iHatePosting to Claude Code?
It takes about a minute. Nothing here needs a download, and the only thing you carry between the two apps is a key you can revoke whenever you like.
- 1Step 1
Create an iHatePosting API key
Sign in, open Settings → Developers and create a key. It starts with pk_live_, and the same page can show it again whenever you need it.
- 2Step 2
Add iHatePosting to Claude Code
Run this command in your terminal. Replace YOUR_API_KEY with your key.
Claude Code — connectorclaude mcp add --transport http --scope user ihateposting https://ihateposting.com/mcp?client=claude-code --header "Authorization: Bearer YOUR_API_KEY" - 3Step 3
Ask it to post
Tell Claude Code what you want to say and where. It saves a draft in iHatePosting unless you ask for the post to go out now or at a set time.
What is different about Claude Code
Every client reaches the same server, and then behaves like itself. These are the things that are true here and not somewhere else.
Run the command in an ordinary terminal (PowerShell, Command Prompt, bash or zsh), not inside a Claude Code session. It works the same in all of them. Then start a new Claude Code session so it loads the server.
--scope user makes iHatePosting available in every project. Without it Claude Code saves the server for the current project only: the whole git repository you ran the command in, or just that folder if it is not in a git repository.
Check it with claude mcp list or claude mcp get ihateposting; inside a session, /mcp shows whether it connected and can reconnect it. Connected only means our server answered, and it answers even when the key is wrong or still reads YOUR_API_KEY. To check the key, ask Claude Code to run the whoami tool: a wrong key comes back as iHatePosting API 401.
Claude Code can expand ${VAR} in a header, but a variable that is not set is sent as the literal text, so every tool fails with iHatePosting API 401, as it would with a wrong key. That is why the command writes the key itself.
If you use Claude Code only through the VS Code extension, the claude command is not on your PATH yet. Install the standalone Claude Code CLI once, then run the command in any terminal.
Anthropic's own documentation: Connect Claude Code to tools via MCP
Nothing goes out unless you say so
Every post Claude Code writes is saved as a draft in iHatePosting unless you ask for it to be published now or at a set time. Publishing, rescheduling, retrying and deleting are marked as actions that change things, so clients that honour those markings ask you before they run them. Deleting a post in iHatePosting never removes one that is already live on a network.
What is the iHatePosting MCP?
MCP — the Model Context Protocol — is the standard way an assistant plugs into an app it does not own. Our server exposes the accounts you have connected to Claude Code as tools, so it can draft, check and schedule without you opening a dashboard.
How Claude Code uses it
- You add the connector once — by signing in, or with a key you create
- Claude Code reads which accounts you have connected, and each network's rules
- It writes a version per network and checks it against those rules before sending
- It saves a draft, schedules it, or publishes — exactly as your message said
- It works alongside whatever other tools Claude Code already has
# read and check (9)
whoami list_accounts
list_posts get_post
get_analytics get_platform_rules
list_media list_pinterest_boards
validate_post
# write (7)
create_post update_post
reschedule_post delete_post
retry_post upload_media
open_upload_widgetCost, access and what to do when it breaks
What does it cost?
The connector costs nothing on top of iHatePosting. iHatePosting has one plan: $15/month billed annually, or $19/month billed monthly, with unlimited social accounts. It is free for 90 days, no credit card needed, and everything is included during the trial: unlimited accounts, unlimited posts, every feature.
How is access secured?
Either you sign in to iHatePosting and approve access, or you create an API key in Settings → Developers. That page can show your key again whenever you need it. Whichever route you take, it reaches only the accounts you have already connected, and you can revoke it at any time without touching the accounts themselves.
Something not working?
- It cannot see any accounts: connect them in iHatePosting first, then ask it to list them again.
- You regenerated your key and it still fails: Regenerate revokes the old key the moment you press it, and a client that is already running keeps sending the old one until you genuinely restart it.
- A post failed: open it in iHatePosting — the failure names the network and repeats what that network actually said.
Frequently asked questions
Where do I run the claude mcp add command?
In an ordinary terminal, such as PowerShell, Command Prompt, bash or zsh, not inside a Claude Code session. Then start a new Claude Code session so it loads the server. If you use Claude Code only through the VS Code extension, install the standalone Claude Code CLI first so the claude command exists.
Will iHatePosting be available in every project?
Yes, with --scope user. Without it, Claude Code saves the server for the current project only: the git repository you ran the command in, or just that folder if it is not in a repository.
How do I check that my key works?
claude mcp list and /mcp show only that our server answered, and it answers even when the key is wrong. Ask Claude Code to run the whoami tool: a wrong key, or one that still reads YOUR_API_KEY, comes back as iHatePosting API 401.
Is the Claude Code connector free?
Yes. The connector costs nothing on top of iHatePosting, and iHatePosting is free for 90 days, no credit card needed. After that it is $15/month billed annually, or $19 month-to-month, with unlimited accounts.
Which networks can Claude Code post to?
Any account you have connected in iHatePosting, across 15 networks: Instagram, Facebook, LinkedIn, X, Threads, TikTok, YouTube, Pinterest, Bluesky, Mastodon, Telegram, Discord, Slack, Tumblr and Google Business Profile.
Can Claude Code schedule posts for a specific date and time?
Yes. Put the date and time in the prompt — for example "schedule this for Friday at 9:00 AM" — and Claude Code schedules the post for then. iHatePosting reads the time in your account's timezone, and you can ask Claude Code to move a scheduled post to a new time.
Claude Code vs Claude vs Claude Cowork: which page do you need?
Anthropic makes all 3, and iHatePosting works with each of them. This page is for Claude Code. Pick the one you actually type into — the setup differs, and the wrong page will have you pasting a key in a place that has no box for it.
Claude Code
You are hereOne terminal command connects iHatePosting to Claude Code, so it can announce a release or schedule posts to 15 networks from your editor. Free 90-day trial.
Claude
Add iHatePosting to Claude in one click from its connector directory, with no API key, and let Claude schedule posts to 15 networks. Free 90-day trial.
Open the Claude pageClaude Cowork
Add iHatePosting as a custom connector and let Claude Cowork draft, schedule and publish posts to 15 networks as part of a longer task. Free 90-day trial.
Open the Claude Cowork page
One connection reaches every network
Connect your accounts in iHatePosting once. From then on Claude Code can post to any of them, and we publish at the time you set — even after you close the chat.
- Bluesky
- X
- Threads
- TikTok
- YouTube
- Mastodon
- Telegram
- Discord
- Tumblr
- Google Business
- Slack
Ready to post everywhere from Claude Code?
Start your 90-day free trial — no credit card, about a minute to your first post.
Sign UpOther AI agents
New to this? Read how to post to social media from an AI agent, or see iHatePosting pricing: unlimited accounts for $15/month, billed annually.