open source · local-first · MIT

Every session remembers.
One session watches.

Run many AI coding sessions without losing the thread. Each project keeps its memory through compaction: the plan, the decisions, what is left. And one lead session hears from all the others, so you watch one window instead of five.

$uvx missioncache-install
lead · inbox● live
  • api-gateway: Next Steps updated. From api-gateway.
  • billing-migration: task 12 done, 6 left. From billing-migration.
  • mobile-app: waiting on design for 9 days. From mobile-app.
  • docs-site: context restored after compaction. From docs-site.

Click a session to send the lead a notice.

Works with the AI tools you already use
Claude Code everything

The lead, hooks, dashboard, statusline, autonomous runs and all 51 MCP tools.

Codex project state

The project files, the slash commands and all 51 MCP tools.

OpenCode project state

The project files, the slash commands and all 51 MCP tools.

VSCode project state

The project files and all 51 MCP tools, in Copilot Chat.

The lead session

One seat that sees every screen.

Run /missioncache:lead in any Claude Code session. It becomes the lead: the one place that knows what every other session is doing.

  • 01
    A brief across all your projectsWhat is urgent, what is waiting on someone, which sessions are live, and today's calendar if you connect one.
  • 02
    Every session reports inWhen a session changes its project, it sends the lead one line. The lead holds them for its next brief, so it never interrupts you.
  • 03
    You set the pace, and it stopsThe lead asks how often to check and for how long. It never loops on its own, and it stops after 7 hours unless you pick another window.
● missioncache-lead
> /missioncache:lead
URGENT
billing-migration: 2 action items overdue
WAITING
mobile-app: design reply, 9 days
LIVE
4 sessions on 4 projects
TODAY
release sync 14:00, focus block after
How often should I check the projects, and for how long?
for (default 7)
/loop 30m /missioncache:brief --delta --until 16:30
A project's life

From the first plan to the last task, nothing gets lost.

Every project is three plain markdown files under ~/.missioncache/. Watch what happens to them from start to finish.

claude · api-gateway
$ /missioncache:new api-gateway ✓ plan.md the approach, agreed with you ✓ context.md decisions, gotchas, next steps ✓ tasks.md 0/12
plan.md

The approach you agreed on. Locked once approved.

context.md

Decisions, gotchas, key files, next steps. A living document.

tasks.md

The checklist with progress. Any tool can tick it.

The dashboard

See every project, and where every hour went.

A local dashboard at localhost:8787. It reads the same project files, so there is nothing extra to keep up to date. Click any screen to enlarge it.

Attention view: your open items, who owes you what, and every project with something outstanding
AttentionWhat needs you today, and who owes you what
Activity view with today's sessions, an hourly chart and a weekly heatmap
ActivityEvery hour, per project and per repo
Projects view with active and completed projects, progress and time
ProjectsProgress, time spent, what is next
MissionCache Auto run with a task graph and a live iteration log
Auto runsTasks run in parallel, streamed live

The statusline

Your whole session, one glance up.

Installed into Claude Code's statusline. Project and progress, git, model, context use, your session and weekly limits, and whether Claude itself is having a bad day. Links open the dashboard on that project.

The MissionCache statusline: project and progress, directory, elapsed time, model, git branch, edits, tokens, version, session and weekly limits, context percentage and Claude status 1 2 3 4
1Project and progressWhich project this session is bound to, and its checklist as a fraction. Click it to open the dashboard.
2Context and Claude statusHow full the context window is, so compaction never surprises you, and whether Claude itself is having a bad day.
3Session limitsYour 5-hour usage windows and when they reset.
4Weekly limitsYour weekly quota, per plan, and when it resets.
Compare

We will tell you when to use something else.

Every tool in this space does one thing well. Here is the whole picture, misses included.

CapabilityMissionCacheTaskmaster AIclaude-memGSDAgent Teams
Project state that survives compaction✓~~~~task list only
One lead session across parallel sessions✓–––~lead inside one team
Shared memory across parallel projects✓~tags isolate lanes~global memory––
Task checklists + dependency DAG✓✓–~~flat list
Per-project time tracking✓––~cost only–
Local analytics dashboard✓–~––
Autonomous execution✓––✓✓
Whole project moves between tools✓plan + tasks + progress~tasks only, 13 IDEs~memory only, 7+ agents––
Taskmaster AI if you want PRD-to-task decomposition across 13 IDEs.
claude-mem / MemPalace if you want memory that outlives any single project.
GSD / GSD-2 if you want a fresh context for every task.
MissionCache if you want it all in one place, for the project you are building now.
Install

Three minutes to your first project.

A wizard asks which parts you want and which AI tools to register. Needs Python 3.11+. The uvx command comes with uv.

Full install

plugin · dashboard · statusline · auto · lead
$uvx missioncache-install

Use --all --yes for a hands-off run. pipx run missioncache-install works too.

Optional on macOS: panels for iTerm2 with --iterm-panels.

Plugin only

slash commands · MCP tools · hooks · lead
$/plugin marketplace add missioncache/missioncache

Inside Claude Code, then /plugin install missioncache@missioncache. No dashboard or statusline.

FAQ

The questions people actually ask.

How is this different from CLAUDE.md or built-in memory?

CLAUDE.md is a static rules file you maintain by hand. MissionCache keeps living project state (the plan, your decisions, the gotchas, progress) that updates as you work and reloads with one command. It complements CLAUDE.md, it does not replace it.

What does the lead session actually do?

It runs a brief across every project, then receives a one-line notice whenever another session changes a project. If you want, it refreshes the brief on a schedule you pick, and it stops at the end of the window you set (7 hours by default). It never starts that loop on its own. It needs Claude Code, because it relies on cross-session messaging.

Can I run two sessions on the same project?

Yes. Every write waits on the project's lock and lands in one piece, so two sessions never corrupt the context file or overwrite each other. When one session changes the project, the others are told. Each session keeps its own reasoning. The project files are what they share.

Where does my data live?

On your machine. Project files are plain markdown under ~/.missioncache/, and the dashboard listens on 127.0.0.1 only. There is no account and no MissionCache server.

Which tools does it work with?

Claude Code gets everything: the lead, hooks, dashboard, statusline and autonomous runs. Codex, OpenCode and VSCode Copilot Chat get the project files, the slash commands and every MCP tool. Start a project in one and pick it up in another.

Isn't this just cross-agent memory like claude-mem?

claude-mem recalls memories into whatever agent you are in. MissionCache moves the whole project: the plan you approved, the tasks with their progress, the decisions and gotchas, as files any MCP agent reads and writes. If you want long-lived memory across projects, claude-mem is genuinely good at that.

Doesn't compaction already keep the context?

It keeps a summary, and every summary drops details: an edge case, a constraint, a “don’t do X”. Anthropic calls this goal drift. MissionCache keeps the plan, the decisions and the next step in files, so a session reloads them in full instead of trusting the summary.

Does it work on Windows?

Yes, on native Windows with no WSL. The hooks run, including the compaction snapshot, and the dashboard starts at logon. It needs Claude Code 2.1.139 or newer. A Windows CI job tests all of this on every push.

Is it free, and can I remove it?

Yes and yes. It is open source under the MIT license. To remove it, uninstall the packages and delete ~/.missioncache. Your projects are plain markdown, so anything you want to keep, you keep.

Give your next project a memory,
and your sessions a lead.

$uvx missioncache-install