A few months ago, I had a problem that's becoming all too familiar in the era of AI-assisted development: I was learning things in one tool that would've been incredibly useful in another, with no mechanism to transfer that knowledge besides my own memory and endless copy-pasting. After working to reduce hallucinations in Claude Code and Cursor, I realized context management wasn't just a session-level problem—it was systemic across every AI interface I use.
The Context Problem in Modern AI Workflows
I run multiple AI tools across multiple interfaces—CLI, web, mobile, desktop—for widely different tasks: engineering, research, business planning, writing. Each tool excels at specific things. But they don't talk to one another. As Andrej Karpathy has described with his LLM Knowledge Bases approach, there's a real gap between what you learn in one AI conversation and what's available when you're working in another context entirely.
Why Existing Solutions Fall Short
Google Gemini's Deep Research feature is genuinely cool—it exports sessions directly to Google Drive as docs. But that's locked to the Gemini ecosystem. I can't easily feed that into Claude Code or Cursor without copying, reformatting, and pasting somewhere else. Extra steps kill adoption. Then there's chat history: every AI tool has it, none make it easy to find anything three weeks later. Search helps, but it doesn't solve curation—I don't want to search through 200 conversations for the six things actually worth keeping. MCP servers for Notion and JIRA work well in team environments with structured data, but for quick personal notes, the interaction latency feels heavyweight. Waiting on API round-trips just to export terminal output really adds up when you're iterating fast across multiple documents. And the "just use one tool for everything" camp has a point technically—vibe coding tools can handle non-technical work—but some tasks demand visual previews, drag-and-drop, or mobile access while running errands.
Obsidian as the Missing Piece
The breakthrough came when I realized I'd been overcomplicating things. Files on a filesystem are easy for AI coding tools to read, easily shareable, and drag-and-drop compatible. No plugins required. Obsidian is essentially a local-first markdown editor with sync—and that's exactly what was missing. Local files mean universal compatibility: every AI tool reads markdown natively. I can drag files into chat interfaces, point CLI tools at directories, or copy-paste from the editor. No export step, no API call, no conversion needed. The isolation model also matters. A filesystem approach lets me allowlist specific folders for AI access rather than granting read/write to my entire Google Drive. Claude Desktop and Claude Code both support this. My personal notes stay personal unless I deliberately share a folder. And since markdown is already the lingua franca of AI tools—plans, docs, summaries, rules files all default to markdown anyway—the format alignment is seamless.
My Memory Management Workflow
I use Obsidian as a long-term memory store alongside code and git history for things that don't belong in a codebase: research on open source projects, articles about new AI techniques worth trying, architecture decisions. After working through something in ChatGPT or Gemini's web interface, I distill the key parts into notes where Claude Code, Cursor, or Codex can find them later. Exporting good conversations is another core pattern. When an AI chat surfaces a novel approach or well-structured analysis, I curate those insights into markdown files rather than letting them disappear into chat history. The vault also serves as an input/output hub: outlines become drafts, AI enriches content, output saves back as new versions. My blogging workflow runs almost entirely this way—mixing chat exports, research call notes, and PDFs as input.
Key Takeaways
- Use Obsidian's local markdown files as the universal interface between AI tools—no plugins or API latency required
- Allowlist specific vault folders for AI access rather than granting broad permissions to cloud storage
- Curate key insights from worth-keeping conversations into reusable documents instead of relying on chat search
- Keep prompts that are too nuanced for scripts and too context-dependent for one-size-fits-all approaches as grab-and-go markdown files
The Bottom Line
After 15+ years chasing the perfect cloud app, I'm back to local filesystem files for knowledge management—and it feels right. There's a lot of non-technical work in any software engineer's week, and automating the context that surrounds AI-driven development is how you avoid bottlenecks from slowing everything down. If you're losing good work to chat history graveyards across multiple AI tools, your system might be more broken than you think.