Use cases VS Code
Use case

You thought it through in chat.
Your IDE already knows.

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.

The workflow

From thinking to building without the gap 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.

01

Brainstorm in chat

OpenWebUI, LibreChat, or any OpenAI-compatible client. Say: "Redis for sessions, TTL-based expiry, skip Postgres." Tenure extracts it quietly.

02

Open VS Code

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.

03

Just build

Every AI request is enriched before it reaches the model. Your stack, your decisions, your rejected alternatives — all in context. No prompt engineering required.

Beliefs panel

Your beliefs. Right in the sidebar.

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.

userRepository.ts
authService.ts
README.md
1import { Db, ObjectId } from 'mongodb'
2// Tenure knows: MongoDB raw driver, no ORM
3
4export function makeUserRepository(db: Db) {
5const col = db.collection("users")
6return {
7async findById(id, ctx) { ... }
8}
9}
Tenure Beliefs 9 active
decision MongoDB raw driver — no Mongoose
preference Factory functions over classes
entity users collection → ObjectId
preference TypeScript strict mode
decision Fastify over Express
decision Vitest — Jest ruled out
entity auth service → Redis session store
preference No ORMs. No magic.

● 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.

Provider-level integration

Registered as your LLM provider. Not a wrapper.

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.

BYOK

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.

🔁

Automatic scope sync

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.

🧠

Works with every client inside VS Code

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.

📋

Record beliefs from selection

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.

Commands

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
The drift problem

It also fixes the way coding sessions break.

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.

AGENTS.md / shared context files

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.

Anything that copies information already in your code will go stale. Anything that points to that information tends to stay correct.

Tenure

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.

Superseded beliefs are retained for audit. They never inject again. !extract off pauses learning for a session. Your existing memory still works.
Setup

Four steps. Then nothing.

01
Install

One click. That's the only manual step.

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.

02
Automatic Provisioning

The daemon starts itself.

The extension securely spins up the local daemon on port 5757 and hooks up the proxy layer. The daemon starts itself. No terminal required.

03
Zero plaintext keys

Your key goes into the IDE's secret store. Not a config file.

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.

04
Work

There is no step four.

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.

Get started

Stop re-explaining your stack.

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