← Stash
← All posts

Claude for Software Developers: Stop Losing Your Project Context

June 2026 · 7 min read

You're three weeks into a new codebase. You've figured out why the authentication layer works the way it does, which third-party API has the rate-limit quirk, and why the team chose one database over another for that particular service. You've debugged the tricky race condition in the job queue. You know this project.

Now you open Claude for help with a new feature. And you explain it all again from scratch.

Every. Single. Time.

This is the developer's context problem. Claude is incredibly useful for coding — but it walks into every conversation with a blank slate. By the time you've re-oriented it, you've burned 10 minutes and a few thousand tokens just to get back to where you were.

This post shows you how to fix it with Stash — a small, fast record store that Claude can query over MCP. You set it up once. After that, Claude knows your projects.

What developers actually need to remember

It's not just "what does this function do" — that's what the code is for. The information that keeps getting lost is the why:

None of this is in your README. It's in your head. When you ask Claude something, it doesn't have any of it.

How Stash fits in

Stash is a hosted record store with an MCP connector. You add it to Claude once (30 seconds, no code), and then Claude can query it with natural language in any conversation.

The workflow for developers looks like this:

  1. When you learn something worth keeping, tell Claude: "Save this to Stash: auth uses RS256 JWTs, 24h expiry, refresh tokens not implemented yet"
  2. When you start a new session on the same project: "What do I have on the payments-api project?"
  3. Claude searches Stash and surfaces what you stored — architecture notes, gotchas, open questions

The key thing: Claude doesn't need you to brief it every time. It retrieves the context. That's it.

What this is not: Stash doesn't store your code. Your repo does that. Stash stores the context that isn't in your repo — the decisions, the gotchas, the notes-to-self that would otherwise live in a tab you'll close and never find again.

A real session: picking up a project after two weeks away

Developer
I'm back on the webhooks project. What do I have on it in Stash?
Claude (querying Stash)
Found 8 records on webhooks-service:

Architecture: FastAPI + Celery workers, Redis for queue, a database for event log
Gotcha: Stripe sends duplicate webhook events on retry; idempotency key is event.id, not delivery_id
Open bug: race condition in worker shutdown — task can be acked before commit (Jira WEB-412)
Auth pattern: HMAC-SHA256 signature check, secret in WEBHOOK_SECRET env var
Blocked on: platform team decision on retry policy (pinged @sarah, no reply yet)
Last worked: was adding dead-letter queue support, branch: feat/dlq
Developer
Perfect. Let's continue with the dead-letter queue. What was the open question there?
Claude
Stored note says: "DLQ — undecided on whether failed events should be retried automatically after N hours or manual-only. Manual-only is safer but adds ops burden. Leaning automatic with 3 retries and 6h backoff, but blocked on platform team input."

Since you haven't heard from @sarah yet, want me to draft the implementation both ways so you can flip a config flag when the decision lands?

That whole exchange took about 15 seconds. No re-briefing. Claude walked in already knowing the project.

What to store: a practical starting list

For any project you're actively working on, a useful Stash collection has three types of records:

TypeExample
Architecture decisions"Chose Redis for queue over RabbitMQ — team has more Redis experience and the message volume doesn't justify AMQP overhead"
Environment gotchas"Staging has PAYMENT_MODE=sandbox but webhook URLs still need to be registered in Stripe dashboard manually"
Debugging notes"The 'connection refused' errors in staging are a timing issue on container start — app starts before DB is ready. Added health-check with retry loop."
Open questions / blockers"Undecided: versioned API endpoints or header-based versioning? Need to align with mobile team before implementing."
Team context"Anna owns the auth layer — don't touch middleware/auth.py without checking with her first"

Multiple projects, zero context switching

The real payoff comes when you're working across multiple codebases — a common situation for engineers at startups, consultants, and anyone on a team with more than one product.

You can have a Stash collection per project. When you switch, you just ask: "What's my context on the billing-service?" — and you're oriented in seconds. No open tabs to hunt through, no "where did I write that down" moments.

The free tier covers 2,500 records and 50 queries a month. For a developer actively working on 3–4 projects, that's typically 3–4 weeks before hitting the limit. The paid tier (£8/month) removes those caps. Pricing may change; cancel anytime.

Add Stash to Claude in 30 seconds

Claude → Settings → Connectors → Add custom → paste this URL:

https://app.stashlite.com/mcp

Sign in with Google. Start storing project context. No setup, no code.

Get your connector URL →

Why not just use Claude Projects?

Claude Projects are good for static documents — you upload a spec, a README, a design doc, and Claude can reference it throughout a project. That's a different tool for a different job.

Stash is for the information that evolves. You add records as you learn things. You query them with natural language. You update them when something changes. You search across projects. The data lives in a store Claude can reach from any conversation — not locked inside one Project context.

They're complementary. Use Claude Projects for reference documents. Use Stash for living knowledge.

Setup (really is 30 seconds)

  1. In Claude, go to Settings → Connectors (or the MCP section)
  2. Add custom connector: https://app.stashlite.com/mcp
  3. Sign in with Google — your account is created automatically
  4. In a chat, type: "Add to my context collection: [anything you want Claude to remember]"

That's it. From that point, any conversation can query your Stash store. The data persists across sessions. You never lose context again.

No CLI to install. No API keys to manage. No schema to define. It's just a store Claude can talk to.