passalong
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@passalongshow me what's waiting on my board"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Passalong
Hand work to your AI coding agents, and get back what they did and how they checked it.
Write a task, a bug or a finished change once. The agent that takes it starts knowing what done looks like and what was already decided, reports as it goes, and hands back a write-up with the evidence for each thing you asked for, which you approve or send back. One agent per job, and everyone can see who has what. Works with Claude Code, Codex, ChatGPT, Claude, or anything that speaks MCP or HTTP. See passalong.dev.
npm i -g passalong
passalong setup # installs the Claude Code capture skill, the MCP server, two hooks and a status line
passalong login # optional: sync guides across machines and get share links
codex mcp add passalong -- passalong mcp # Codex: the same MCP serverThe loop
Finish work in Claude Code (or any agent). Say "pass this along", run
/passalong-capture, or runpassalong shareyourself.Trim and publish. The draft opens in your editor. Save it and you get a short id and a link.
Pull on the other side.
passalong pull <id>in the target repo, or paste the link to any agent with the Passalong MCP server. The guide lands in its context; it implements, adapting the parts markedASSUMES:.Close. Say whether it worked:
passalong works <id>, orpassalong broken <id> <why>.passalong done <id>archives it when you are finished with it.
Related MCP server: Planwright
Commands
passalong share [file] [--to team[/handle]] publish a guide → id + link; --to hands it to a team or teammate
passalong task "<what needs doing>" write a task for an agent; it waits in Draft
passalong ready <id...|--all> tasks you have read are ready — an agent may take them now
passalong tasks every task and where it is: draft, ready, claimed, stalled, review
passalong work [--once] [--agent CMD] run an agent on each ready task here, one after another
passalong approve <id> the work in review is done
passalong reject <id> <why> not done: back to Ready, and the next agent reads why
passalong release <id> take a task back from the agent holding it, stalled or not
passalong pull <id|link> fetch a guide into ./.passalong/ (git-ignored) and print it
passalong inbox guides handed to you that you have not pulled yet
passalong board waiting on you, in flight, landed, worth keeping
passalong activity [--all] what happened while you were away; clears unless --all
passalong log [repo] what you did, newest first, under a heading per month
passalong list [query] your guides and your teams', local and synced
passalong open <id> [--print] view a guide in the browser (or the terminal)
passalong hub open your synced guides in the browser
passalong works <id> you tried it and it holds up
passalong broken <id> <why> you tried it and it does not — the author is told, with your reason
passalong archive <id> off your board and out of the free tier's count (was `done`)
passalong rm <id> delete a guide locally and from sync
passalong export [dir] dump every guide as plain markdown
passalong login sign in from the browser
passalong login --with-token read a token from stdin instead (CI, scripts)
passalong login --new add another account to this machine
passalong accounts the accounts signed in here, and which is the default
passalong use <name> make one of them the default
passalong logout [name] forget one of them (default: the current one)
passalong me [--handle H] [--name N] [--email E] who you are to teammates
passalong team current team and its members
passalong team create <name> start a team (you become its owner)
passalong team invite [email] make an invite link (mailed when an email is given)
passalong team join <link> accept an invite
passalong team use <slug> switch the current team
passalong setup install the Claude Code capture skill, MCP server and hooks
passalong now what this worktree holds and what is waiting
passalong assign <id> <to> give something you wrote to @handle, a #group, or "team"
passalong mcp run the MCP server over stdioMore than one account
A machine can be signed in to several accounts, say a work one and a personal one.
passalong login --new adds another beside the first, passalong accounts lists them, and
passalong use <name> picks the default a person at a terminal gets.
An agent has no terminal to be asked at, so with two or more accounts and nothing saying which, it
is refused and told to ask you. It puts the question to you in plain words, you answer, and it calls
use_account with the name. That lasts for the session and moves nothing on disk. From a shell,
--as <name> or PASSALONG_ACCOUNT=<name> says the same for one command. The team you work in
(passalong team use) belongs to the account, not the machine.
Working the task queue unattended
passalong work runs claude -p on each ready task for the repo you are in, one after another.
The agent runs headless, so it can only use the tools you allow up front. A task that needs a
command you did not allow ends up blocked: the agent says so on the board with a
BLOCKED: progress note and stops. To allow tools, point --agent (or PASSALONG_AGENT) at a
small script:
#!/bin/sh
# The prompt must come first: --allowedTools takes any number of values and would swallow it.
exec claude -p "$@" --permission-mode acceptEdits \
--allowedTools "mcp__passalong__*,Bash(npm test:*),Bash(node:*),Bash(git add:*),Bash(git commit:*),Bash(chmod:*)"passalong work --agent ./agent.shEach agent commits its change as <task id>: … and hands the hash in with hand_in, so you
review one task's change at a time. Then passalong approve <id>, or
passalong reject <id> <why>: the next agent reads the reason before it starts again.
The guide
Plain markdown with frontmatter. Yours to edit, grep, and commit.
---
id: k3mq2xa7
title: Verify Paystack webhook signatures
created: 2026-09-03T10:00:00.000Z
author: Lukman Isiaka
source_context: monieplan@main
status: published
stack_assumptions: [Next.js 15, Postgres]
tags: [paystack, webhooks]
---
## Problem
## Solution shape
## Decisions and rationale
## Steps
## Verification
## GotchasTeams
A team is the unit of sharing. Members can find, pull, and mark consumed every guide shared to the team; a guide can also be handed to one person, who sees it in their inbox (and by email when the server has mail configured).
passalong me --handle lukman # how teammates address you
passalong team create Khaime # you become owner; "khaime" is now current
passalong team invite ada@example.com # or no email: prints a link to send yourself
passalong team join <link> # on Ada's machine — or she just opens the link
passalong share --to khaime/ada # hand this guide to Ada
passalong inbox # on Ada's side: what was handed to you
passalong activity # back on your side: it landed, and who pulled itA receiver who tries the work reports back with passalong works <id> or passalong broken <id> <why>.
That is separate from done, which means implemented: a verdict means it actually runs, a failing
one has to say why, and the author sees it on their board and in their inbox.
Sign in at the hub with an email and password, and mint
an API token there for the CLI and MCP servers — named, revocable, and shown once. Your password
never goes near the terminal. passalong login with no arguments still makes an account without
any of that; add an email and password later to be able to sign in from a browser and recover it.
Not everyone who receives a guide implements it. Every guide page has a Verify view
(?view=verify) that leads with Problem, Verification and Gotchas and folds the implementation
away — for a tester or anyone checking the work rather than doing it. Invites are accepted in the
browser, so a teammate needs no terminal to be part of a team.
passalong activity is the other half of the transfer: it tells you when someone pulled a guide
you handed over, when they marked it consumed, and when an invite was taken up. A handoff
addressed to a person is also emailed; a team-wide share is not, because mail nobody is
named in is the first thing people filter out. A guide's pull count is on its row, which is how
you see which ones keep travelling — there is nothing to mark them as, and nothing to mark.
MCP
passalong setup registers the server with Claude Code, and adds two hooks to ~/.claude/settings.json: at session start the agent is told what its worktree holds (passalong now --hook session), and a session that still holds work is stopped once and told to hand it in, pass it, or leave a progress note (passalong now --hook stop). Both say nothing when offline or signed out. It also adds a status line, passalong now --statusline, showing what this worktree holds and how much needs you; it prints from a local cache refreshed in the background, and a status line you already have is never replaced. For other clients:
claude mcp add passalong -- passalong mcp # or the equivalent stdio configTools: take, progress, hand_in and pass for working any guide, each answering with what to call next; publish_guide (with to), file_bugs, get_guide, search_guides, guide_template, set_guide_status, attach_screenshot, inbox, board, activity, log, plan_tasks. start_guide, ack_guide, verify_guide, next_task, task_progress and finish_task were the old names for parts of this, and are gone.
The same server is hosted at https://passalong.dev/v1/mcp for assistants that add remote MCP servers. A screenshot reaches it differently by assistant — ChatGPT passes the file, Claude sends it from its code sandbox to a one-time upload link (create_upload, with passalong.dev allowed in its network settings), and a local server reads a path. passalong.dev/connect has the steps.
Principles
No lock-in. Guides are files.
passalong exportdumps everything.Local-first. Works with no account. Sync is the hosted layer.
Agent-native. Everything the CLI does, an agent can do over MCP.
Repo
packages/passalong— CLI + MCP server (passalongon npm)apps/api— sync API and read-only web view (Cloudflare Worker + D1; static assets inpublic/)docs/PRD.md— the product specdocs/wiki/— reference: data model, API surface, auth, the web view, releasingdocs/DEPLOY.md— the runbook
See AGENTS.md for the conventions, and docs/wiki/ for how the pieces actually work.
This server cannot be deployed
Maintenance
Related MCP Connectors
Roadmap, tasks, releases and user feedback your coding agent reads and writes over MCP.
Public MCP for agent verification, work discovery and governed interoperability.
AI agent messaging with durable inboxes, contacts and tasks. Connect through MCP with OAuth.
1Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI coding agents to read TeamStorm tasks, comments, attachments, and links, and to perform limited write operations such as adding comments and updating task names, descriptions, or statuses through MCP.153MIT

Planwrightofficial
AlicenseNot gradedqualityCmaintenanceEnables AI coding agents and humans to collaborate on local, evidence-driven planning by exposing MCP tools for plan listing and binding, workflow catalog/run operations, and task tracking with human-reviewed decisions.2AGPL 3.0- AlicenseNot gradedqualityAmaintenanceEnables AI coding providers to run structured multi-agent workflows with tracked tasks, specifications, handoffs, and health-gated completion. It exposes MCP tools for task claiming, action logging, repairs, document validation, and lifecycle evidence.29 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants and developers to research, plan, generate requirements and starter projects, map codebases, manage tasks, curate context, and execute multi-step software development workflows through MCP-compatible clients.9 npmMIT