Updated

Turn your changelog into a LinkedIn post with Claude Code

Have Claude Code read your CHANGELOG or git log, draft a LinkedIn release post and queue it for your approval, without leaving the terminal.

Finchreach teamClaude codeLinkedinMcpRelease announcementsDevelopers

The short answer

Yes, Claude Code can write your LinkedIn release announcement straight from the repo. Connect it to Finchreach, a remote MCP server that operates your LinkedIn account (MCP is a standard plug that lets AI apps use outside tools). Claude Code reads CHANGELOG.md, the git log or a release diff, drafts a text post in your voice and calls linkedin_create_post.

Nothing goes live at that point. With approval mode on, which is the default, the post waits in your approval queue until you approve or reject it. You get an accurate announcement written by the tool that already knows what shipped, and you still have the final say.

Why write LinkedIn release posts from the terminal?

Release announcements usually get written last, by someone tired, from memory. The facts are already in the repository: the changelog entry, the merged commits, the migration notes. Claude Code can read all of it, so the post is built from what changed rather than from what you remember changing.

  • Accuracy: version numbers, flag names and breaking changes come from the source, not a paraphrase.
  • Momentum: you announce the release in the same session you cut it, while the details are fresh.
  • Less context switching: no copying release notes into a chat window and back.
  • One place to review: every draft lands in the same Finchreach queue, whichever repo it came from.

Finchreach publishes text posts. It does not attach images or video and does not schedule posts, so this workflow is for the written announcement. If you want a screenshot, add it on LinkedIn yourself after the post is live.

How does Claude Code turn a changelog into a LinkedIn post?

  1. You ask for an announcement of a specific version, for example the latest section of CHANGELOG.md or the commits between two tags.
  2. Claude Code reads the files with its normal tools and picks the changes a LinkedIn reader would care about: new capabilities, fixes users asked for, anything that needs action.
  3. It drafts the post in the chat first, so you can ask for a shorter version, a different hook or fewer emoji.
  4. When you are happy, it calls linkedin_create_post with the text (up to 3,000 characters) and a visibility of Anyone or Connections Only. If you don’t specify, Finchreach uses Connections Only.
  5. The tool returns pending_approval and an action id. You open the queue, read the final text and approve or reject it.
  6. Claude Code can check the outcome with linkedin_get_action, which reports whether the post was approved, executed, rejected or failed.

Because the draft sits in a queue rather than going out immediately, you can ask for three variants, keep the best one and reject the rest.

What should I ask Claude Code?

Be specific about the version, the audience and the tone. These prompts work well as a starting point:

Ask your assistant“Read the 2.4.0 section of CHANGELOG.md and draft a LinkedIn post announcing it. Audience: engineering leads who use our SDK. Lead with the change that saves them the most time, mention the breaking change in one plain sentence, under 200 words, no hashtags. Show me the draft before posting.”
Ask your assistant“Summarize the commits between v1.8.0 and v1.9.0 for a non-technical LinkedIn audience. Group them into “new”, “faster” and “fixed”. When I say ok, queue it with linkedin_create_post, visibility Anyone.”
Ask your assistant“Look at my last LinkedIn posts with linkedin_get_feed sorted by recent and match my usual tone, then draft the announcement for this release. Queue two versions so I can pick one in the approval queue.”

You can also put a standing instruction in your project’s CLAUDE.md, such as “release posts: first person, under 200 words, link to the release page, always show the draft before calling linkedin_create_post”.

How do I connect Claude Code to my LinkedIn account?

  1. Create a Finchreach account and connect your LinkedIn account on the Accounts page.
  2. Create an API key on the API keys page. Keys start with lk_. Store it in an environment variable such as FINCHREACH_API_KEY.
  3. Add the server to Claude Code with the command below. Claude Code supports remote MCP servers over HTTP with custom headers.
  4. Run /mcp inside Claude Code to confirm the Finchreach tools are listed, then try a read-only prompt such as “get my LinkedIn profile”.
  5. For more detail see the Claude Code guide, the Claude Code integration page and the docs.
Add Finchreach to Claude Code
claude mcp add --transport http finchreach https://mcp.finchreach.com/mcp \
  --header "Authorization: Bearer $FINCHREACH_API_KEY"

To share the setup with a team without sharing a key, add --scope project to write a .mcp.json file and reference the variable instead of the literal key. Each person then uses their own key and their own LinkedIn account.

.mcp.json
{
  "mcpServers": {
    "finchreach": {
      "type": "http",
      "url": "https://mcp.finchreach.com/mcp",
      "headers": { "Authorization": "Bearer ${FINCHREACH_API_KEY}" }
    }
  }
}

Use a dedicated variable name. According to Anthropic’s documentation (as of October 2026), some reserved credential variables, such as ANTHROPIC_API_KEY, are blanked when expanded in headers. Source: Claude Code MCP docs.

How do I keep release posts from sounding like release notes?

  • Ask for the “why” first: what a user can now do, then how.
  • Cap the list. Three highlights read better than eleven bullet points.
  • Name one breaking change clearly instead of hiding it at the end.
  • Keep a human sentence or two: who worked on it, what surprised you, what is next.
  • Read it in the approval queue as a stranger would. If it only makes sense to the team, reject it and ask for a plainer draft.

Is it safe to post to LinkedIn from Claude Code?

Finchreach is built so nothing is published in your name without you seeing it. Writes such as posts, comments, messages, invitations and reactions go to the approval queue, and the pace is set by you approving them, not by a loop in a script.

Automating a personal LinkedIn account carries risk under LinkedIn’s User Agreement. The approval queue and a human pace lower that risk; they do not remove it. Post the way a person would: one release, one post.

Also treat the repo as untrusted input. A commit message or a dependency’s changelog could contain text that tries to steer the assistant. Reviewing every draft before approval is your protection against that too.

Frequently asked questions

Can Claude Code attach a screenshot or GIF to the post? No. Finchreach publishes text posts only today.

Can it schedule the post for Tuesday morning? Not through Finchreach. The post goes out when you approve it, so approve it when you want it published.

Can it post to our company page? No, Finchreach works with personal LinkedIn accounts, not company pages.

Can it reply to the comments on the announcement? Partly. It can check your notifications for new comments and draft replies with linkedin_comment_on_post; each reply also waits for approval.

Does this work in other coding agents? Yes, any MCP client that can send a custom header. See Codex, Cursor and GitHub Copilot, or read what a LinkedIn MCP server is.