Repo-native task continuity for AI coding agents: a reviewed task-state ledger served over MCP.
Repo-native task continuity for AI coding agents.
Agent memory remembers how you work. Agentpack remembers where the task stands.
Every session ends the same way: the context window gets compacted, the chat closes, the task waits until tomorrow. The next session starts without the task. It re-reads files, rediscovers decisions, and retries approaches that already failed.
Agentpack keeps a small, reviewable task ledger in .agentpack/ inside your repo. Connected agents record durable state as they work: the goal, decisions, dead ends, verification evidence, and checkpoints. The next session loads it back and continues. That next session can be the same agent after compaction, a different client, or you returning next week.
Here it is live. In session 1, Claude Code investigates a flaky test and records what it learns through the Agentpack MCP tools. In session 2, the next day with an empty context, the agent loads the task state and picks up where the first session stopped, without re-investigating:

Prefer to try it by hand? The same flow driven from the CLI is in docs/DEMOS.md.
AGENTS.md, CLAUDE.md, Cursor rules) tell agents when to load and record state.Claude Code memory, Codex memories, and CLAUDE.md or AGENTS.md remember how to work: your preferences, project conventions, and facts that stay true. Agentpack records where the work is: the current task's goal, constraints, decisions, dead ends, next actions, and whether the result was verified.
| Agent memory | Agentpack | |
|---|---|---|
| Holds | Preferences, conventions, long-lived facts | The state of a specific task |
| Lives in | One client's profile or account | .agentpack/ in the repo, local by default, portable with task bundles |
| Read by | That client only | Any MCP client: Claude Code, Codex, Cursor, Claude Desktop |
| Shape | Free-form notes recalled by relevance | A Task Passport with lifecycle, write scope, and verification bound to a commit |
| Staleness | Not tied to file changes | Source conclusions carry file hashes, so changed files are flagged |
Use both: memory for how you like to work, Agentpack for what the task needs next.
Requires Node.js >= 20.
npm install -g agentpack-cli
cd path/to/your/repo
agentpack init # once per repo
agentpack install claude --write # per client: codex | claude | cursor | claude-desktop
Restart or reconnect the coding-agent client. From then on the agent loads Agentpack context at session start, records decisions and evidence while working, and checkpoints meaningful progress.
Run agentpack doctor to verify the setup, and agentpack resume --preset agent --query "<topic>" to see the task state yourself.
See docs/INTEGRATIONS.md for client-by-client setup, including what each installer writes and why.
Each task gets a Task Passport: its goal, status, constraints, write scope, next actions, and verification. Tasks can be started, parked, switched, and finalized, which makes handoffs explicit.
An optional task gate warns when edits fall outside the active task. It uses native Claude Code, Codex, and Cursor hooks plus a pre-commit hook. It only warns by default; set "gateMode": "block" in .agentpack/config.json to stop such edits (see docs/CLI.md).
Resume output stays within a rough token budget, so agents get the useful state back, not the whole history.
Codex, Claude Code, and Cursor installs also include an optional builder subagent for larger implementation work. The main agent says what it will hand off before using it; small tasks stay with the main agent.
api/, frontend/, cron/) with short scoped tasks, and the task gate keeps the agent inside the folder the current task owns.Agentpack calls use some tokens too. The payoff is that the next session gets compact task state instead of re-reading unchanged files and re-explaining old decisions.
ignore-scripts=true.npm audit signatures.See SECURITY.md for the full policy.
Clone the repo and use Node 20+:
npm ci --ignore-scripts
npm test
npm run mcp:smoke
node dist/src/agentpack.js --help
This repo uses Agentpack on itself through MCP. docs/DOGFOOD.md describes the working protocol, docs/SETUP.md the full setup, and docs/RELEASING.md the release process.
Mirror: Codeberg. Issues, releases, and npm provenance stay on GitHub.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y agentpack-cliMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-ihorponom-agentpack": {
"command": "npx",
"args": [
"-y",
"agentpack-cli"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceagentpack-clinpmio.github.ihorponom/agentpack works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.