Skip to content

Claude Code + Wahlu

Post to X from Claude Code with Wahlu

Connect Claude Code to Wahlu once, then plan, draft and schedule posts for X accounts connected to Wahlu from the Claude Code terminal and IDE extensions. Every schedule can wait for your approval.

What Claude Code can prepare on X
  • Text post

    Words on their own, with no media.

  • Image post

    One to four images, or one GIF on its own. Text is optional.

  • Video post

    One video, MP4 or MOV, up to 512 MB. Text is optional.

Ask Claude Code for X posts

Example prompts and the steps to expect. These are illustrations, not recorded conversations.

Example prompt

“Read CHANGELOG.md and write an X post announcing the release in under 280 characters. Hold it for review tomorrow at 9am.”

Example prompt

“Create an X image post from the screenshots in docs/launch for CHANGELOG.md, then run a readiness check.”

Example prompt

“Check whether anything is already scheduled on X this week before you draft a post about CHANGELOG.md.”

What Wahlu does on X

Claude Code works through Wahlu's tools, so it can set the X options Wahlu supports.

X settings on a draft

Post type
Text, image or video.

Agents can post X threads of up to 25 posts with thread_parts. Polls, quote posts and long posts for X Premium aren't available. X follower and post numbers show in the app on paid plans; agents can't read them yet.

The tool calls, in order

  1. 01

    list_targetsFinds the brand's connected X account and checks it's ready.

  2. 02

    upload_media, import_media_from_url or list_mediaBrings in the image or video, or picks one from your media library.

  3. 03

    create_draftCreates the draft with its caption and x_settings, such as the post type.

  4. 04

    preflight_draftChecks the draft against X's rules without changing it.

  5. 05

    create_schedulePuts it on the calendar at pending_review, held for your approval.

X limits to know

Wahlu checks these before a post is scheduled, so the agent finds out early.

Getting images and video to X

The agent can read a file in your project and upload it with upload_media. Files over 8 MB, including most video, go to a short-lived upload link the agent sends the file to. Public links and your media library work too.

Connect Claude Code to Wahlu

Set this up once and Claude Code can work on every network you've connected, not just X.

  1. 1

    Run claude mcp add (the command shown here) in your project.

  2. 2

    In Claude Code, run /mcp, select wahlu and sign in to Wahlu in the browser that opens.

Checked against the Claude Code docs on 24 September 2026. Menus can change; if a step doesn't match what you see, follow the vendor's current instructions.

Add Wahlu to Claude Code
claude mcp add --transport http wahlu https://mcp.wahlu.com/mcp

This adds Wahlu to the current project. To use it in every project, add --scope user before wahlu. If Wahlu's tools don't appear, start a new Claude Code session.

You stay in control.

Every Wahlu plan includes agent access, through MCP and the API. You choose the workspace, brands and permissions each connection gets, and can disconnect it at any time.

Held until you approve

Agents create schedules at pending_review unless you've told them to publish. A held schedule can't publish until you approve it in Wahlu or ask an agent with Publishing permission to approve it.

Publishing is its own permission

Publishing is separate from Manage your schedule. Leave it unticked and nothing your agent schedules can go out on its own.

Checked before it's scheduled

preflight_draft reports anything that would stop a post, such as media the network won't accept or a caption that's too long, without changing anything.

Some things stay in the app

Use the app for queues, draft media and platform settings, and connecting social accounts. Agents can change the name or caption of an unused draft and approve held schedules with the right permissions.

Your next X post, drafted by Claude Code.

Connect your X account in Wahlu, then give Claude Code a specific brief.