---
title: "01 VS Code and Cursor Extension"
canonical_url: https://mdflow.cz/share/c/h0L7MvX5Cy5sST3qPnApqHOmrQ36JTVy169qJMtDMya9Kc30zm04cg9OuPSSPwvj/3baa2c9f-85cb-446d-b20e-1054cefee7c5
md_url: https://mdflow.cz/share/c/h0L7MvX5Cy5sST3qPnApqHOmrQ36JTVy169qJMtDMya9Kc30zm04cg9OuPSSPwvj/3baa2c9f-85cb-446d-b20e-1054cefee7c5.md
visibility: public
---

# VS Code and Cursor Extension

The **MDflow Workspace** extension brings your workspace into VS Code, Cursor, and other VS Code-compatible editors, so you browse and edit your markdown documents without leaving your editor.

> **This extension requires MDflow Pro**, because it works through the HTTP API — see [02 HTTP API](/doc/bdb63d7f-857f-42ef-b13f-aa4d139e7cf8) and [04 Free and Pro Plans](/doc/b55abc0c-ac5d-44cb-b5a5-22b3cc04a69f). A Free account can sign in, but every request returns a "Pro plan required" message until the workspace is upgraded. The extension itself is free and open source (MIT).

## Installing

One extension, published to two registries:

- **Visual Studio Marketplace** — for VS Code.
- **Open VSX** — for Cursor, Windsurf, VSCodium, and other Open VSX editors.

Search for **MDflow Workspace** in your editor's extensions panel.

Guides: [mdflow.cz/docs/vscode](https://mdflow.cz/docs/vscode) · [mdflow.cz/docs/cursor](https://mdflow.cz/docs/cursor)

## Signing in

Two ways:

- **A browser-based OAuth flow** — click, authorize, done.
- **A pasted Personal Access Token** — create one in MDflow Settings; see [01 Personal Access Tokens](/doc/bdefa552-e9b6-4382-a479-91615474cf69).

Either way, credentials are stored in your editor's **encrypted Secret Storage** — never in settings files, and never in plain text.

You can be signed in to **one account at a time**.

## Browsing

An **MDflow** tree view appears in the Explorer sidebar, showing **workspaces → folders → documents**. Items load on demand as you expand them, with a manual **Refresh** when you want to re-pull.

## Editing

Documents open as **native markdown tabs**, backed by a virtual `mdflow:` file system. That means your editor treats them as real files — syntax highlighting, the markdown preview, extensions, keybindings, all of it works normally.

**Ctrl/Cmd+S** saves the body straight back to MDflow. The 500 KiB limit is enforced **before** the request is sent, so you get a clear error rather than a rejected round trip.

## Managing your workspace

Full CRUD from the tree's context menus:

- **Workspaces** — create, rename, delete.
- **Folders** — create, rename, move, delete.
- **Documents** — create, rename, move, delete.

The tree always shows the **server-returned name**, so if MDflow auto-disambiguated your title to ` (2)`, that is what you see. No optimistic lie about what got saved.

## Encryption

Per-file encryption from the editor title bar and the Command Palette:

- **Encrypt**
- **Unlock**
- **Lock** (forget the password)
- **Remove Encryption**

Documents decrypt on open and re-encrypt on save, in the same **`mdflow-enc:v1`** format (PBKDF2 at 600,000 iterations → AES-256-GCM) as the web app, the iOS app, and the `mdflow-crypt` CLI — see [01 Document Encryption](/doc/b230e154-6c58-4bfd-8a7a-c70bc7bebcd7). A document encrypted in one opens in the others.

**There is no password recovery.**

Note this is the one companion tool besides the web app that can **remove** encryption — the iOS app cannot; see [02 iOS App](/doc/0a35e506-d632-4f07-aa6a-1d19a5ab3940).

## Pointing at a local server

The `mdflow.baseUrl` setting points the extension at a different server, defaulting to `https://mdflow.cz`. Useful if you run MDflow locally for development.

## What it is — and is not

It is a **live HTTP API client, not a sync engine**. Concretely:

- **No offline editing.** You need a connection.
- **No caching.**
- **No conflict resolution** — **last write wins**. If you and an agent both save, the later save overwrites.
- **One account at a time.**

That last-write-wins behaviour is the important one. Unlike the GitHub and Google Drive integrations, which detect a changed file and refuse to overwrite silently, the extension does not. If you are editing the same document from several places, be aware.

**Staying in the web app:** sharing, collections, and workspace search. The extension browses and edits; it does not publish.

## Why use it

If you already live in VS Code or Cursor, this puts your notes and your code in the same window — and, more to the point, in the same context for whatever AI assistant is running in that editor.
