Tenure registers as a native LLM provider inside VS Code. Decisions made in OpenWebUI, LibreChat, or any chat client are injected automatically the moment you open a file — with no copy-paste, no priming, no step in between.
You spend an hour in a chat client thinking through an architecture problem. You explore options, rule some out, land on a direction. Then you open VS Code to start building.
Tenure is already there. It knows what you decided, what you rejected, and why. You don't re-explain anything. You just build.
OpenWebUI, LibreChat, or any OpenAI-compatible client. Say: "Redis for sessions, TTL-based expiry, skip Postgres." Tenure extracts it quietly.
The extension pushes your project scope the moment you switch files. Tenure resolves which beliefs belong to this project before your first message is sent.
Every AI request is enriched before it reaches the model. Your stack, your decisions, your rejected alternatives — all in context. No prompt engineering required.
The Tenure side panel shows you exactly what the model knows, per file and globally, directly inside VS Code. Click any belief to see every turn it was injected and the exact query that surfaced it.
● Click any belief to see every turn it was injected. ● The exact query that surfaced it is persisted alongside it. ● Edit, pin, or delete directly from the panel. ● Per-file and global beliefs stay scoped — project A never bleeds into project B.
Tenure doesn't sit on top of Copilot or intercept keystrokes. It registers at the provider level — the same place you'd set an OpenAI or Anthropic endpoint. Your existing tools route through it automatically.
Anthropic, OpenAI, or any OpenAI-compatible endpoint. Your key goes into VS Code's native secret store, not a config file. Zero plaintext keys floating around.
On every file switch, the extension pushes your current workspace context — project name, active file, language — so Tenure resolves the right project scope before your first message is sent. Critical in monorepos.
Continue, Cline, Windsurf — any client where you control the base URL. Point it at localhost:5757/v1 and it routes through Tenure automatically. No configuration per-client.
Highlight any code or comment and run Tenure: Record Belief from Selection from the command palette. The belief is scoped to the active project instantly.
| Command | What it does |
|---|---|
Tenure: Set API Token | Store your Tenure token securely in VS Code's secret store |
Tenure: Sync Workspace State | Manually push current project scope to Tenure |
Tenure: Open Beliefs Dashboard | Open localhost:5757/beliefs in your browser |
Tenure: Record Project Belief | Record a belief directly from the command palette |
Tenure: Record Belief from Selection | Record a belief from selected code or text |
Tenure: Create .tenure File | Scaffold a .tenure file with your resolved project name |
Beyond cross-interface continuity, Tenure fixes the way AI coding sessions drift in practice — not dramatically, but through accumulation. A script gets renamed. A config file moves. A rule you wrote for Cline never makes it into Windsurf. The agent doesn't know any of this.
Works until it drifts. Stale paths, renamed scripts, instructions nobody updated after a refactor. The more it tries to duplicate what's already in your config, the more it becomes a liability.
Doesn't duplicate. Learns. When you change a decision, the old belief is superseded — never deleted, never injected again. The correct belief surfaces automatically. Your stack description is never wrong.
!extract off pauses learning for a session. Your existing memory still works.Search for Tenure in the VS Code Extensions panel, or install directly from the Marketplace. Works in VS Code, Windsurf, and any VS Code fork via Open VSX.
The extension securely spins up the local daemon on port 5757 and hooks up the proxy layer. The daemon starts itself. No terminal required.
Tenure generates your local bearer token and automatically injects it directly into your IDE's native secret store. Zero plain-text keys left floating around in your global config files.
Tenure learns in the background. The first session is good. The tenth is noticeably better. By the fiftieth, it knows you. Every session compounds. The store gets more precise, not less, as it grows.
Thirty seconds to install. First session already better. Turn injection on when you're ready, not before.
Requires Docker · MIT licensed · Fully local · No account needed