---
title: "Connect Claude Code"
description: "Let Claude Code work with poddub for you, from claude.ai, with one command, a project file, the plugin or a key."
canonical: "https://poddub.com/docs/agents/claude-code"
last-updated: "2026-10-29"
---

# Connect Claude Code

Let Claude Code work with poddub for you, from claude.ai, with one command, a project file, the plugin or a key.

Claude Code can work with poddub while you work in a repository: paste the release notes into your team's inbox, start an episode, and fix its script while it waits for you. There are five ways to connect it, and the first that fits you is the one to take. Every way but the last signs in with your own poddub account, which anyone in an organization can do. The last uses a key, for scripts and automation that run without you, and only an owner makes keys.

## Already in claude.ai?

If you added poddub in claude.ai, as [Connect claude.ai](/docs/agents/claude-ai) shows, poddub is in Claude Code already, with nothing to type. Run `/mcp` in Claude Code: poddub is in the list, marked as coming from claude.ai.

This works when Claude Code is signed in with the same Claude account you use on claude.ai. If poddub is not in `/mcp`, run `/status` to see how Claude Code is signed in: claude.ai's connectors are not loaded, even after `/login`, while an API key, an API key helper, a cloud provider such as Amazon Bedrock, an Anthropic profile or a token from `claude setup-token` is active. Unset the key, remove the helper setting or switch the profile off, then run `/login` and choose your claude.ai account.

If you also add poddub in Claude Code at the same address, in any of the ways below, Claude Code uses the one you added, and `/mcp` lists the claude.ai connector as hidden.

To keep claude.ai's connectors out of Claude Code, set `disableClaudeAiConnectors` to `true` in your Claude Code settings. That covers the connectors Claude Code fetches itself, in the terminal and in the IDE extensions; a cloud session and the desktop app receive their connectors another way, which this setting does not touch. To turn poddub off in one project only, select it in `/mcp` and turn it off there.

## One command, for you

In a terminal, in the project you work in, add poddub's server:

```bash
claude mcp add --transport http poddub https://poddub.com/api/mcp
```

To have it in every project, add `--scope user`:

```bash
claude mcp add --transport http poddub --scope user https://poddub.com/api/mcp
```

Then sign in. In Claude Code, run `/mcp`, choose poddub and follow the steps in your browser. Or, from the terminal:

```bash
claude mcp login poddub
```

Your browser opens poddub.com:

1. On **Sign in to poddub**, enter the address of your poddub account under **Work email**, select **Send code**, then enter the code from the email and select **Sign in**.
2. On **Choose an organization**, choose the organization Claude Code works in. poddub skips this page when you are already signed in on poddub.com with an organization chosen.
3. On **Allow Claude Code?**, choose under **What it may do** the most it may do: **Member** is chosen already and is enough for most work, and you can never choose above your own role. Select **Allow**.

You go back to Claude Code, connected. If there is no poddub account for your address, create one in the poddub app first; poddub.com signs in accounts that already exist.

## Shared with a project

To give everyone who works in a repository the same server, add it to `.mcp.json` at the project's root. Each person then signs in with their own account, so nobody shares anything:

```json title=".mcp.json"
{
  "mcpServers": {
    "poddub": {
      "type": "http",
      "url": "https://poddub.com/api/mcp",
      "timeout": 300000
    }
  }
}
```

The `timeout`, in milliseconds, gives a call five minutes, since having poddub write a whole script again can take a couple of minutes inside one call. Claude Code asks before it uses a server a project's `.mcp.json` names. Each person signs in as [One command, for you](#one-command-for-you) shows, from `/mcp`.

## As a plugin

poddub has a plugin for Claude Code, in a plugin marketplace of its own. The plugin adds the same server as the command above and signs in the same way: it holds no key. In a terminal, add poddub's marketplace once, then install the plugin:

```bash
claude plugin marketplace add seatsat/poddub-claude-plugin
claude plugin install poddub@poddub
```

The plugin is then yours in every project. It loads the next time you start Claude Code, or at once when you run `/reload-plugins` in a session already open. With Claude Code 2.1.292 or later, one command does both: `claude plugin install poddub --marketplace seatsat/poddub-claude-plugin`.

Inside Claude Code, `/plugin marketplace add seatsat/poddub-claude-plugin` and then `/plugin install poddub@poddub` do the same, and show you the plugin before it installs. Under **Will install**, Claude Code lists what the plugin adds, the poddub server, or says `Components will be discovered at installation`. Then choose **Install for you (user scope)** to have it in every project, or one of the choices for this repository only.

Then sign in: run `/mcp`, choose poddub, marked as coming from the plugin, and follow the steps in your browser, as [One command, for you](#one-command-for-you) shows. If you also added poddub with `claude mcp add` or in a project's `.mcp.json`, Claude Code uses that one and not the plugin's.

To remove the plugin, uninstall it, and remove poddub's marketplace if you no longer want it. Removing the marketplace also uninstalls every plugin you installed from it:

```bash
claude plugin uninstall poddub@poddub
claude plugin marketplace remove poddub
```

## End a sign-in

Open poddub.com/connections, the page called **Connected agents**, and select **End** next to Claude Code, then **End connection**. It stops at once. An owner can end anyone's connection in their organization there.

`claude mcp logout poddub` forgets the sign-in on your computer, `claude mcp remove poddub` removes the server from Claude Code, and uninstalling the plugin removes the plugin's server. None of them is listed as ending the connection on poddub: end it on poddub.com/connections. A connector added in claude.ai is removed in claude.ai.

A sign-in also stops when you leave or are removed from the organization, when the organization is deleted, and when your poddub account is deleted.

## With a key, for automation

A key is for work that runs without you, such as a script or an automation. It belongs to the owner who made it, so the agent acts as that owner and never above the highest role chosen.

### The key

You make the key in the poddub app, if you are an owner of your organization: **Manage**, then **Agents**, then **New key**, and **Make key**. The key is yours alone; it works in one organization and stops working after 90 days unless you chose another length. [Keys](/docs/agents/keys) has the details.

The key is shown once. Tap **Copy key** and keep it in an environment variable or a password manager, never in a file you commit.

### Add the server with a key

In a terminal, in the project you work in:

```bash
claude mcp add --transport http poddub https://poddub.com/api/mcp --header "Authorization: Bearer <key>"
```

Put your key in place of `<key>`. The server is then yours alone, in that project.

To share it with a project, give `.mcp.json` the key from each person's environment:

```json title=".mcp.json"
{
  "mcpServers": {
    "poddub": {
      "type": "http",
      "url": "https://poddub.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${PODDUB_API_KEY}"
      },
      "timeout": 300000
    }
  }
}
```

Each person sets `PODDUB_API_KEY` to their own key, and Claude Code fills it in when it starts. Use a name of poddub's own like this one: Claude Code never fills in the variables that hold its own or other tools' credentials, such as `ANTHROPIC_API_KEY` or `NPM_TOKEN`.

### When a key stops working

When the key has expired or was revoked, poddub refuses it, and Claude Code reports the poddub server as failed with `AUTH_HEADER_REJECTED`: "Server rejected the configured Authorization header (HTTP 401)". The detail names the reason, for example `revoked_api_key`. Claude Code does not offer to sign you in instead, since a key is set.

Make a new key in the app, under **Manage**, then **Agents**, put it in `PODDUB_API_KEY` or in the `claude mcp add` command, and start Claude Code again. To sign in instead of using a key, remove the server with `claude mcp remove poddub` and add it again without the key, as [One command, for you](#one-command-for-you) shows.

## What it can do

The agent can read your teams, sources, episodes and scripts, paste and correct sources, start an episode, shape its script, retry a failed episode and publish a ready one, within the role you allowed or the key's role. It never does more than its person can, never approves a script on its own, manages people, touches money, deletes anything or puts an episode on the public show. [Agents](/docs/agents) says what it does and never does, and [Tools](/docs/agents/tools) lists every tool.
