How to post to X (Twitter) from Claude
https://postwire.io/api/mcp) you connect your X account once on X's own screen, approve the post Claude writes with generate_posts, and it publishes it with post_to_social or queues it with schedule_post: a tweet, a thread of up to 26 posts, up to 4 images or a video. PostWire is already in Claude's connector directory. You need no X developer account and no API key: PostWire posts through the official X API and pays X for each call. X is on PostWire's paid plans, from $9 a month with 30 X credits included every month: 1 X credit is 1 plain post, a post with a link uses 10, and each image or video adds 1.Scheduled tweets are published by PostWire's servers, so Claude and your computer can be closed when the hour comes. Claude can check what a post will use before it posts.
Updated . Written from PostWire's own code; vendor prices read on Oct 29, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.
Set it up and post, step by step
Prompt to copy once X is connected: Write an X thread of 4 posts about our new CSV import with the link in a reply under it, tell me how many X credits it uses, and schedule it for Thursday at 10am.
- Add PostWire to Claude
Open PostWire in Claude's connector directory and press Connect; it works in Claude on the web, on the desktop and on your phone. In Claude Code, run
claude mcp add --transport http postwire https://postwire.io/api/mcp. A sign-in window asks for your email and a 6-digit code, which also creates a free PostWire account if you have none: no password and no card. - Connect your X account
Ask "connect my X account". Claude calls
create_connect_linkand gives you a one-hour link that opens X's own sign-in. X shows "Sensitive permissions requested · This app is not affiliated with X", as it does for every outside app: tick I trust this app, then Authorize app. The permission covers posting and uploading media. X needs a paid PostWire plan, and reading your @handle right after connecting uses 1 credit. - Ask for the post
"Write an X post about the new CSV import."
generate_postsreturns a draft and publishes nothing: one post within 280 characters as X counts them, a first line that stands alone as the hook, one to three short lines of substance, no hashtags and, by default, no link. It writes a thread when you ask for one, and the LinkedIn or Bluesky version of the same news in the same call. - Check what it will use
"How many X credits will that use?" calls
get_x_creditswith the post's text and thread: it returns the credits for the post or the whole chain, what the plan has left this month and the X posts made today. A post the account cannot cover is not sent. - Add an image or a video, if you want one
A file attached to the chat does not reach a connector, so Claude gives you an upload page instead (
create_upload_link, valid 24 hours, up to 100 MB on the free plan and 1 GB on paid plans). Pick the images or the video there and Claude attaches it to the post. A public https link works too. - Post now, or schedule it
Say "post it" and Claude calls
post_to_social; say "schedule it for Thursday at 10am" and it callsschedule_post, up to 365 days ahead, or withrun_at: "next_slot".threadholds the posts after the first, andreplyis one more post under the last one, the usual place for the link. This is the call:{ "name": "schedule_post", "arguments": { "platforms": ["x"], "per_platform": { "x": { "text": "Our CSV import went from 40 seconds to 6. What changed:", "thread": [ "We stopped parsing the whole file before showing a preview.", "Rows now stream in batches of 500.", "Errors name the row and the column instead of 'invalid file'." ], "reply": "Details: https://example.com/changelog/csv-import" } }, "run_at": "2026-11-05T10:00:00-05:00" } } - Open the post
The result carries the post's link (
https://x.com/i/web/status/…) and, for a thread, every post's id. If X refuses a later post of a thread, the earlier ones stay up, the result sayspending, and PostWire posts the rest by itself without posting anything twice.
"What's scheduled on X?" calls list_scheduled_posts and "cancel Thursday's thread" calls cancel_scheduled_post; the same queue is on the dashboard's Queue page. Prefer to set it up by hand first? Open the dashboard, connect the account under Accounts and copy your key under API & MCP.
What a post to X uses
X bills every post made through its API, so PostWire counts your X posts in credits: 1 X credit is 1 plain post, a post with a link uses 10, and each image or video adds 1. Each post of a thread, and the reply under it, counts by the same rule.
| What Claude posts | X credits |
|---|---|
| A plain tweet | 1 |
| A tweet with one image | 2 |
| A tweet with a link in its text | 10 |
| A thread of 4 plain posts, with the link in a reply under it | 14 |
- Included every month: 30 X credits on Starter ($9 a month, up to 5 X posts a day) and 150 on Pro ($29, up to 20 a day). Top-up credits (80 credits for $5, 340 credits for $20) do not expire.
- No bill after the fact: the credits for a whole thread are set aside before the first post goes out, and credits for a post that never went out come back.
Source: PostWire's X integration and plans, read Oct 29, 2026.
X's rules Claude works within
- 280 characters as X counts them: a link counts 23 whatever its length, and an emoji counts 2. A single post that runs long is shortened at the end of a sentence; a thread post that runs long is refused before anything goes out.
- Up to 4 images of up to 5 MB each, or one video of up to 512 MB.
- Threads of up to 26 posts: the first post plus 25 more, each a reply to the one before. The media stays on the first post.
- X refuses a duplicate of a recent post from the same account; the result says so in those words.
More on X itself: X (Twitter) MCP server.
What it does not do
Claude with PostWire writes, publishes and schedules your own posts on X. It does not read your timeline or search X, it does not like, repost, follow or send direct messages, it does not post polls, and it does not report an X post's views or likes. X is on paid plans; the free plan publishes to the other nine networks.
Questions people ask
Can Claude post to X (Twitter)?
Not by itself. Claude writes the post, and a connector publishes it. With PostWire's connector (https://postwire.io/api/mcp) and your X account connected once on X's own screen, Claude publishes or schedules tweets and threads after you approve the text.
Do I need an X developer account or an X API key?
No. You connect your X account on X's own sign-in screen and PostWire posts through the official X API with its own developer app. PostWire pays X for each call and counts your posts in X credits.
Can Claude post a thread to X?
Yes. The posts after the first go in thread (up to 25), each within 280 characters as X counts them, and an optional reply goes under the last one for the link. The credits for the whole thread are set aside before the first post goes out.
How much does it cost to post to X from Claude?
X is on PostWire's paid plans: Starter is $9 a month with 30 X credits a month and Pro $29 with 150. 1 X credit is 1 plain post, a post with a link uses 10, and each image or video adds 1. Top-up credits (80 credits for $5, 340 credits for $20) do not expire.
Can Claude schedule tweets?
Yes. It calls schedule_post with a time up to 365 days ahead, or "next_slot" for your next free posting hour, and PostWire publishes it at that time with Claude closed.
Can it post images or a video?
Yes. A tweet takes up to 4 images of up to 5 MB each or one video of up to 512 MB. A file on your device gets a link through create_upload_link, a page where you pick the file; a file already online goes as its public https link.
Why does a tweet with a link use more credits?
X bills a post that contains a link at a higher rate than a plain post, so it uses 10 credits instead of 1. That is why generate_posts writes X posts without a link unless the idea is the link, and why the link usually goes in a reply.
Try it on one business, free.
The free plan is 1 business, 10 posts a month, 5 AI drafts a day (about 20 a month) and 2 networks per post — every network connects free, no card, no time limit. Paid plans start at $9 a month and have a 14-day refund; Pro can be tried free for 7 days and Agency for 14, with a card at checkout and nothing charged that day.