The editorial argues that the simultaneous emergence of Recall and Junction — two unrelated projects at different layers of the AI coding stack — signals that a non-trivial slice of senior developers wants local-first alternatives to Cursor, Copilot, and Claude Code. The economic logic of cloud incumbents (owning context as a moat) is being challenged by single-binary, zero-telemetry tools.
By submitting Recall as a Show HN, mateenah surfaces Raiyan Yahya's argument that Claude Code lacks durable project memory and that the fix should live on the developer's machine — a SQLite store in a `.recall/` directory, exposed via six MCP tools. The pitch explicitly frames 'zero cloud, your data stays on your machine' as the differentiator.
Junction's pitch — 'no API keys, no telemetry, no accounts' — positions the VS Code chat sidebar as a thin client over whatever OpenAI-compatible local inference server (Ollama, llama.cpp) the developer already runs. The 518-star reception suggests strong demand for keeping both the model and the editor integration off vendor infrastructure.
The editorial concedes that MCP servers and local-model VS Code extensions have existed for over a year, so neither Recall nor Junction breaks new technical ground. What matters is that two unrelated developers, on opposite layers of the stack, simultaneously landed mirror-image local-first pitches on the front pages — evidence of a shifting developer mood rather than a new capability.
In the same 72-hour window, two open-source projects targeting the AI coding workflow landed on the front pages of Hacker News and GitHub Trending. Raiyan Yahya's Recall (115 points on HN) ships a local SQLite memory layer for Claude Code, exposing six MCP tools and persisting everything to a `.recall/` directory inside your repo. Junction (518 stars, by Plaer1) is a VS Code chat sidebar that talks to local AI coding agents — Ollama, llama.cpp, or anything that speaks the OpenAI-compatible API on `localhost`.
Neither project is technically novel in isolation. MCP servers have proliferated since Anthropic open-sourced the protocol last year, and there are at least a dozen "chat with your local model in VS Code" extensions. What's notable is the simultaneity: two unrelated devs, two different layers of the same stack, both shipping the local-first version of a piece that the dominant tools (Cursor, Copilot, Claude Code itself) treat as cloud-native by default.
The pitches are almost mirror images. Recall's README leads with "zero cloud, your data stays on your machine." Junction's leads with "no API keys, no telemetry, no accounts." Both projects ship as single-binary or single-extension installs. Both assume you already have the model layer figured out — Recall sits on top of Anthropic's API via Claude Code; Junction sits on top of whatever local inference server you're running.
The AI coding tool market spent 2024 and most of 2025 consolidating around three cloud-first incumbents: Cursor, GitHub Copilot, and Claude Code. Each one bets that the right architecture is your editor talking to their backend, with context, history, and tool-routing handled server-side. The economic logic is straightforward — every byte of context they manage is a byte they can charge for, and every memory store they own is a moat against you switching.
Recall and Junction are evidence that a non-trivial slice of senior developers is willing to give up the convenience of managed context in exchange for owning the substrate. It's the same pattern that produced self-hosted Sentry alternatives, the Mastodon/ActivityPub wave, and the slow migration from Notion to Obsidian — once a category matures, a faction always defects to the local-first version.
The technical case isn't symmetric across all three layers, though. Model weights are the hardest piece to localize — Qwen 2.5 Coder 32B and DeepSeek Coder V2 are competitive with GPT-4o on small-to-medium tasks, but still trail Claude 3.5 Sonnet and GPT-5-class models on long-horizon agentic work. Memory and UI, by contrast, are trivially localizable. There's no reason a chat sidebar needs to phone home, and no reason your project's accumulated context needs to live in someone else's database. Recall and Junction are picking the two layers where the local-first argument is strongest and the model-quality gap is irrelevant.
The community reaction tracks this. The top HN comment on Recall asks the obvious question — "why isn't this just built into Claude Code?" — and the answer in the thread is roughly: because Anthropic's commercial incentive is to make context portable across *their* surfaces, not yours. Junction's GitHub issues are full of requests for Ollama model auto-detection and offline-only mode, which tells you who's actually installing it.
If you're running Claude Code daily, Recall is worth installing this week. The six MCP tools (`remember`, `recall`, `forget`, `search_memories`, `list_memories`, `summarize`) cover the actual use cases — persistent project context, decision logs, "why did we do it this way" notes — and the SQLite store means you can grep it, back it up, or sync it across machines with whatever tooling you already use. The integration cost is one MCP server entry in your config; the lock-in cost is zero because the schema is human-readable.
Junction is a harder sell if you're already getting good results from Cursor or Copilot. The local-model coding experience is still rough around the edges — multi-file edits, repo-wide refactors, and long-running agentic tasks all degrade noticeably when you drop from frontier models to a 32B-parameter local checkpoint. But for read-heavy work (code review, explanation, single-function rewrites), and especially for codebases under NDA or air-gap, a local sidebar wired to a decent local model is now a credible default.
The broader stack implication: expect a Cambrian explosion of single-purpose MCP servers over the next quarter, each picking off one piece of the cloud-managed agent loop. Project memory (Recall) is the first. Tool routing, prompt history, code-search indices, and per-repo policy configs are obvious next targets. The interesting question isn't whether these get built — they will — but whether Anthropic and OpenAI respond by opening their managed equivalents or by tightening the moat.
The arc here is familiar. Every cloud category eventually grows a local-first counter-stack, and the counter-stack wins on three predictable axes: data ownership, cost at scale, and the long tail of regulated or air-gapped users who can't use the cloud version at all. The AI coding tool market is roughly 18 months into its hype cycle, and the local-first defection is starting on schedule. Recall and Junction are early enough to be rough; they're also early enough that installing them this week buys you a year of compounding context that the cloud-only crowd will be re-creating from scratch when their vendor pivots or raises prices.
VS Code chat sidebar for local AI coding agents
→ read on GitHubI might be missing out on something but I never had to explain my project. Just give it a task, or if you really want to, type it quickly, then you are good to go.I can’t imagine this being worth optimizing. The issue is never that Claude can’t figure out what the projects is about…Am I missing some
Sometimes its good to start fresh. LLMs need large context restart's sometimes so they can better identify holes that they become blind to.
Hm, I just keep a folder called something like `status_docs/` in any project I work on and I create a new file in that folder any day I'm working on a project that's dated (e.g. `project/status_docs/2026_06_21_status.md`). It's basically a project diary that both me and
IntelliJ handles this for you. Basically it sends half your project to Claude even if you're asking some question about Star Wars.
Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.
I apparently use Claude differently the most people who talk about using Claude on the internet.I’ll typically have a bunch of short sessions over the course of a day. Anytime I start a task that isn’t going to very directly benefit from the existing context I start fresh.I don’t find a lot of benef