Post, schedule and run ads from Claude Cowork

Add one connector in Claude and Cowork can run marketing jobs on its own: research the ads winning in your market, render finished image and video ads, and publish them to ten social channels.

What is Claude Cowork?

Cowork is the agent mode in the Claude desktop app. You hand it a task and it works through it on its own, running code and shell commands in an isolated environment and calling the connectors you have added. It takes the same custom connectors as claude.ai, so Hermoso added once in Claude is already there when Cowork needs it.

Cowork, Claude or Claude Code? Cowork is the agent mode of the Claude desktop app and uses the connector you add in Claude. Claude Code is the terminal agent, which installs Hermoso as a plugin.

Hermoso is marketing on autopilot: 876+ tools over one MCP endpoint covering competitor ad research, finished image and video ads across 90+ models, publishing and scheduling to ten social channels, and campaign management on Meta, Google Ads, Microsoft Advertising, Reddit Ads, LinkedIn, Pinterest, X Ads, TikTok Ads, Snapchat Ads, ChatGPT Ads and Apple Search Ads. One connection, and Claude Cowork has all of it.

Connect Hermoso to Claude Cowork

  1. Copy the connector URL. https://app.hermoso.ai/mcp
  2. Claude → Customize → Connectors → + Add → Add custom connector. Name it Hermoso and paste the URL. Leave the sign-in option on Claude’s default: Hermoso accepts Claude’s published client identity and also registers clients automatically, so there is no client ID to create.
  3. Connect and approve. Sign in with your Hermoso account on the consent page. No key is pasted.
  4. Open Cowork and hand it the job. Cowork sees the same connector. Ask it to list your connected channels first, so you know which accounts it can reach.
  5. Ask Cowork for something. “Pull my three closest competitors’ longest-running ads and remix the best hook into a 9:16 video,” or “post this render to the channel.” The agent picks the tools; you approve the spend.

Anthropic’s help center lists custom connectors on Claude, Cowork and Claude Desktop, and Cowork itself on the paid plans: Pro, Max, Team and Enterprise. On Team and Enterprise an Owner adds Hermoso once under Organization settings, Connectors, and members press Connect. One detail decides the route: a local server in claude_desktop_config.json is not available in Cowork, so the hosted connector is the way in, not npx hermoso mcp. Read from Anthropic’s help center on 2026-10-03. Hermoso is not affiliated with or endorsed by Anthropic.

Every channel Claude Cowork can publish to

Each of these has its own page with that channel’s real caption cap, its real visibility options, what it refuses and why, and a worked example phrased for Claude Cowork.

ChannelCarouselText limit
Facebook2+ photos, our cap of 3063,206 chars
Instagram2–10, images + video2,200 chars
Threads2–20, images + video500 chars
TikTokUp to 35 images2,200 / 4,000 chars
YouTubeRefused (the unit is a video)100-char title
XRefused (4 media render as a grid)280, or 25,000 on Premium
LinkedIn2–20 images, company Page only3,000 chars
Pinterest2–5 images (blocked on Trial)800-char description
Bluesky2 to 4 images300 chars and 3,000 bytes
Telegram2 to 10, photos and video4,096, or 1,024 with media

Every one of them queues through one schedule_post calendar with per-channel captions, and list_scheduled reports per-channel outcomes rather than a single green tick, because “the job succeeded” and “the post went out” are different questions. A scheduled post lives in Hermoso, so it goes out on time whether or not Claude Cowork is still running.

Two channels that are built but not offered

Being straight about this is worth more than a longer list. Two publishing surfaces exist in the codebase and are held back, each waiting on the platform rather than on us:

  • Reddit: organic posting and post stats are built, but Reddit’s Responsible Builder Policy requires explicit written approval before an app may use the Data API, and that ticket has not been granted. The connector is held back rather than offered as an OAuth screen leading to a dead API. Reddit Ads is a different connection and it is live: the full campaign tree, forecasting, targeting search, pixels and lead forms.
  • Google Business Profile: post_to_google_business is built, with events, offers and a real call-to-action choice, and so are the listing insights. Google allowlists the Business Profile API per project and the default quota is zero, so every call would 403 for every user. It stays gated until Google grants the project access.

A connector that would hand you a successful OAuth and a dead API is worse than one that is not offered yet, so neither is listed as available.

Three things to type once it is connected

  1. Research. “Who are my three closest competitors, and what are their longest-running Meta ads? Tell me which hook keeps repeating.” It runs find_competitors → pull_competitor_ads → mine_angles.
  2. Create. “Make me a 9:16 UGC video ad using that hook, with my real product photo and captions burned in.” It runs get_brand → plan_ad → render_ad, and hands back a finished mp4 URL.
  3. Ship. “Schedule it to Instagram and TikTok for Tuesday 9am, and build a paused Meta campaign around it targeting the US at $30 a day.” It runs schedule_post → create_meta_campaign → create_meta_ad.

What Claude Cowork cannot do on its own

An agent with a budget is only useful if the blast radius is bounded, so the fence is in the server rather than in a prompt. Every ad campaign, ad set, ad group and ad is created paused, and the status switches that arm real money refuse to run without an explicit confirmation flag. Every render is quoted first (hermoso_capabilities publishes each model’s exact credit cost before anything spends). Credits are reserved before the first provider call and settled at the exact cost afterwards, so a failed dispatch refunds rather than leaving you billed for nothing. Deletes are confirm-gated too, and every campaign tree is read back from the ad platform before your agent tells you what it built.

One step is deliberately yours: linking each account, once. Most channels link through the platform’s own OAuth consent screen in a browser; Bluesky takes an app password and Telegram a bot token, pasted in Hermoso. Everything after that is a tool call.

How often Cowork stops to check with you is Cowork’s behaviour, not ours. Hermoso’s gates hold either way: campaigns are born paused, and spend switches and deletes need an explicit confirmation.

What it costs

Adding Hermoso to Claude Cowork costs nothing extra: there is one credit meter, and it does not care which client called. A free account starts with 30 credits at signup and 250+ more to earn. Credits are spent only on AI models and Ad Spy research; posting, scheduling, ads management and analytics are free on every channel except X, which bills per call because X charges per API request. Paid plans are $19, $49 and $149 a month for 1,000, 3,000 and 10,000 credits, and every feature is on every plan. hermoso_capabilities gives the exact credit price of any render before it runs.

Troubleshooting

  • The consent page asks you to sign in. Sign in with the Hermoso account that holds your brand, then approve. If you run several brands, ask Claude Cowork to list them with list_brands and switch with use_brand.
  • A channel is missing. Connect it in Hermoso under Settings → Connectors, then ask Claude Cowork to run list_connectors again.
  • Claude Cowork answers without using Hermoso. Name it in the request: “use Hermoso to …”. That leaves no doubt about which tools should do the job.
  • Cowork does not see Hermoso. Check the connector is added and connected under Customize, Connectors in Claude, then start a new Cowork task. A server listed in claude_desktop_config.json does not appear in Cowork; only connectors do.

Beyond publishing

Publishing is the last step, and it is the smallest one. The same connection gives Claude Cowork the Meta, Google and LinkedIn ad libraries plus organic TikTok, Instagram, YouTube, Reddit and Threads for research; 100+ image, video, voice and writing models on a single credit meter, with UGC avatars, dubbing, upscaling and native HTML ad formats; and the full campaign tree on eleven paid platforms. There are no per-vendor API keys to hold and no separate app to learn.

See the full tool list, every agent Hermoso works in, or what a marketing MCP is. For the longer story on this client specifically, see AI marketing in Claude.

Hermoso in other agents

The same Hermoso account works in every agent below, so your brand, library, schedule and credits follow you between them.

AgentHow Hermoso connects
ClaudeConnects with OAuth, nothing to paste
ChatGPTConnects with OAuth, nothing to paste
Claude CodeSigns in from the terminal with hermoso auth login, nothing to paste
CursorSigns in from the terminal with hermoso auth login, nothing to paste
CodexSigns in from the terminal with hermoso auth login, nothing to paste
ClineTakes an API key in an Authorization header
OpenClawSigns in from the terminal with hermoso auth login, nothing to paste
Grok BotAdds the Hermoso Marketing Bot template and takes an API key in the chat, or signs in from the Bot’s own terminal
HermesSigns in from the terminal with hermoso auth login, nothing to paste
Gemini CLISigns in from the terminal with hermoso auth login, nothing to paste
PerplexityConnects with OAuth, nothing to paste
Le ChatConnects with OAuth, nothing to paste
Perplexity ComputerConnects with OAuth, nothing to paste
PaperclipConnects with OAuth, nothing to paste
GeminiConnects with OAuth, nothing to paste
Grok BuildSigns in from the terminal with hermoso auth login, nothing to paste
Kimi CodeAdds the hosted URL to mcp.json and signs in with /mcp-config login, nothing to paste
DeepSeek HarnessSigns in from the terminal with hermoso auth login and runs Hermoso as a local server, nothing to paste
ManusTakes an API key in an Authorization header
MuseOne chat message, then an OAuth sign-in
Any MCP clientThe hosted URL with OAuth, or a local server over stdio

Frequently asked questions

Can Claude Cowork post to social media?

Yes, once Hermoso is added as a connector in Claude. Claude Cowork can then publish to Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky and Telegram, and schedule to all ten from one queue with per-channel captions.

How do I add Hermoso to Claude Cowork?

In Claude, open Customize, Connectors, add a custom connector with https://app.hermoso.ai/mcp and approve it with your Hermoso account. Cowork uses the same connector, and there is no key to paste. Anthropic’s help center lists custom connectors on Claude, Cowork and Claude Desktop, and Cowork itself on the paid plans: Pro, Max, Team and Enterprise. On Team and Enterprise an Owner adds Hermoso once under Organization settings, Connectors, and members press Connect. One detail decides the route: a local server in claude_desktop_config.json is not available in Cowork, so the hosted connector is the way in, not npx hermoso mcp. Read from Anthropic’s help center on 2026-10-03. Hermoso is not affiliated with or endorsed by Anthropic.

Can Claude Cowork run my Meta and Google ad campaigns?

Yes. Claude Cowork can build the whole tree on Meta, Google Ads, Microsoft Advertising, Reddit Ads, LinkedIn, Pinterest, X Ads, TikTok Ads, Snapchat Ads, ChatGPT Ads and Apple Search Ads. The summary you get is built from a read-back of what the platform actually stored.

Does using Hermoso from Claude Cowork cost extra?

No. There is one credit meter and it does not care which client called. A free account starts with 30 credits plus 250+ earnable; paid plans are $19, $49 and $149 a month for 1,000, 3,000 and 10,000 credits. Publishing is free on every channel except X, which bills per call because X charges us per API request.

Is it safe to let Claude Cowork post and run ads for me?

Hermoso keeps the steps that cost money or cannot be undone behind gates on its own server, whatever Claude Cowork is set to do: every campaign is created paused, spend switches and deletes need an explicit confirmation, and a post only reaches an account you connected and ticked in Hermoso. How often Cowork stops to check with you is Cowork’s behaviour, not ours. Hermoso’s gates hold either way: campaigns are born paused, and spend switches and deletes need an explicit confirmation.

Is Claude Cowork the same as Claude Code?

No. Cowork is the agent mode in the Claude desktop app and reaches Hermoso through a custom connector. Claude Code is the terminal agent and installs Hermoso as a plugin that drives the hermoso command.

Do I add Hermoso separately for Cowork?

No. Cowork uses the custom connectors you add in Claude under Customize, Connectors, so one connector covers claude.ai, the desktop app and Cowork.

Start free with 30 credits at signup and 250+ more to earn. Every feature is on every plan. Credits are spent only on AI models and Ad Spy research; posting, scheduling, ads management and analytics are free.

Start free →   See pricing