KODEO for VS Code
Edit KODEO projects live from VS Code. Open a project straight from KODEO — nothing to download, and it works on vscode.dev — or a folder on your computer that stays in sync. Either way you're in the room: your teammates in the browser see your cursor as you type, and you see theirs.
Works in VS Code, VS Code Insiders, vscode.dev and github.dev, GitHub Codespaces, Remote SSH / WSL, and — from Open VSX — Cursor, Windsurf and VSCodium.
What you get
- Live editing — character by character with teammates in the browser or in VS Code. Every keystroke is merged by the same CRDT the web editor uses, so nobody overwrites anybody.
- Presence — teammates' cursors and selections in their colours, their names beside them; hover a cursor for who it is, where, and whether they're in the browser or VS Code. A Room view shows who's here and in which file. One person in both places counts once.
- Both directions — files your teammates create, rename, delete or type into in the browser appear in VS Code by themselves, and yours appear in theirs.
- Follow mode — follow someone's file, cursor and scrolling, even while they're in the browser; typing, your own scrolling or Esc stops it.
- Bring Everyone Here — send the room to your line, with a note. Summons from the browser arrive here too.
- Comments — the project's comment threads, in VS Code's own Comments UI, pinned to the right line even after edits above them. Reply, resolve, reopen, @mention; Alt+C comments on the current line, and a teammate's comment pops up with a way there.
- Chat and notifications — the room's chat (in the sidebar or as a full editor tab) and your KODEO notifications. "Send to my computer" from your phone pops up the moment you're back in VS Code.
- KODEO Assist — ask anything about KODEO without leaving VS Code; answers stream in with the Help articles they come from. It never sees your code.
- Source Control — the project's own Git in VS Code's Source Control view: start a repository, gutter diffs, per-person staging, commits with co-authors from the room, KODEO History and file history, inline blame, branches, merges, stashes, tags, GitHub link/clone/push/pull/publish, pull requests and CI checks. GitHub tokens never reach VS Code.
- Undo is yours — Ctrl+Z / ⌘Z undoes your own edits, never a teammate's.
- Checkpoints, trash, search and go-to-file — including on
kodeo://, where VS Code's own search can't reach. The Trash view restores what anyone deleted in the last 7 days.
- Nothing is load-bearing — if the live connection drops, KODEO switches to Solo mode: saves are version-checked and nothing you type is lost. Uninstalling the extension changes nothing for anyone else.
Two ways to open a project
|
Straight from KODEO (kodeo://) |
Linked folder |
| Download |
Nothing — files arrive as you open them |
The whole project, once |
| Works on vscode.dev |
Yes |
No (it needs a disk) |
| Live editing |
Every open file |
Every open file |
| Other files |
Saved straight to KODEO |
Sent when you save, all or nothing |
| Local terminal, tests, dev servers |
— |
Yes, private, no runtime hours |
Open one with KODEO: Open Project…, clone one with KODEO: Clone Project into a Folder…, or click Open in VS Code in the KODEO editor.
Signing in
Choose KODEO: Sign In (or KODEO in VS Code's Accounts menu) and approve the request on kodeo.website with your passkey or two-factor, as usual.
- The code that comes back works once, for one minute, and only with a secret this editor holds (PKCE).
- Your sign-in is bound to an Ed25519 key only this editor has; every refresh is signed with it, so a copied token is useless.
- It's kept in VS Code's secret storage (your operating system's keychain on desktop) — never in settings, the workspace or a log.
- It's listed in KODEO under Settings → Local access and ends with everything that ends a sign-in: signing out, a password change, "This wasn't me", or a workspace policy.
No browser on this machine? Use KODEO: Sign In with a Code. Already signed in with the kodeo CLI? KODEO: Use My kodeo CLI Sign-In makes a new sign-in for VS Code; nothing is copied.
Security
- The same roles as the browser: a Viewer gets a read-only file system, and the server drops their edits whatever the client does.
- In an untrusted folder KODEO is read-only until you trust it.
- Chat, comments and notifications are shown as text, never HTML. Webviews use a strict Content Security Policy with no remote scripts.
- A token (or anything that looks like a secret) typed into a comment or chat is masked before it's sent.
Commands
All 57 commands are in the Command Palette under KODEO: and KODEO Git:.
Sign in
| Command |
What it does |
| KODEO: Sign In |
Approve in your browser (passkey or two-factor as usual). The code comes back through the extension’s own link and works once. |
| KODEO: Sign In with a Code |
For machines without a browser: approve a short code at kodeo.website/device. |
| KODEO: Use My kodeo CLI Sign-In |
A new VS Code sign-in from your signed-in kodeo CLI — nothing is copied. Desktop only. |
| KODEO: Sign Out |
Ends this editor’s sign-in on KODEO too. |
Projects
| Command |
What it does |
| KODEO: Open Project… |
Pick a project (or paste acme/storefront:src/app.ts:42): your linked folder if this computer has one, otherwise straight from KODEO. |
| KODEO: Clone Project into a Folder… |
Real files that stay in sync — the same folder kodeo clone makes. Desktop only. |
| KODEO: Sync Linked Folder Now |
Pull teammates’ changes and send yours, right now. |
| KODEO: Go to File… (Ctrl+P (kodeo://)) |
Every file in the project — also ⌘P / Ctrl+P in a kodeo:// window. |
| KODEO: Search in Project… (Ctrl+Shift+F (kodeo://)) |
KODEO’s own project search, results opening at the line — also ⌘⇧F / Ctrl+Shift+F in a kodeo:// window. |
| KODEO: Open in Browser |
This file and line in KODEO’s web editor. |
| KODEO: Copy Link to This Line |
A link teammates can open in the browser or VS Code. |
| KODEO: Create Checkpoint |
A named checkpoint of this file — the same history as the web editor. |
| KODEO: Checkpoints… |
List, and restore one (for everyone, undoable). |
| KODEO Trash: Empty Trash |
The Trash view (KODEO sidebar) lists deleted files for 7 days — Restore brings one back for everyone; this empties it for good. |
| KODEO: Run in KODEO |
Opens the project’s Run panel in the browser — the shared runtime teammates can watch. |
In the room
| Command |
What it does |
| KODEO: Follow a Teammate… |
Follow their file, cursor and scrolling. Typing, scrolling or Esc stops. |
| KODEO: Stop Following (Esc) |
Stop following. |
| KODEO: Bring Everyone Here |
Send the room to your line, with a note. |
| KODEO: Comment on This Line (Alt+C) |
Start a comment thread on the line — teammates see it in the browser at once. |
| KODEO: Show People and Chat (Ctrl+Shift+J / ⌘⇧J) |
Who’s here (and in which editor), and the room’s chat. |
| KODEO: Open Chat |
The room’s chat as an editor tab — as wide as you like. |
| KODEO: Keyboard Shortcuts (Alt+/) |
Every KODEO shortcut in one list — pick one to run it, or change the keys. |
| KODEO: Undo My Last Edit (Ctrl+Z / ⌘Z) |
Undo in a live file — only your own edits, never a teammate’s. |
| KODEO: Redo My Last Edit (Ctrl+Shift+Z / ⌘⇧Z) |
Redo your own edit. |
| KODEO: Ask Assist |
KODEO Assist right here, beside your code (also in the KODEO sidebar) — answers stream in, with the Help articles they come from. It’s told which editor you’re in and whether you’re live — never your code. |
| KODEO: Show KODEO Status |
Everything you can do from here (also the status bar item). |
| KODEO: Refresh |
Reload the project’s files, Git state and notifications. |
| KODEO: Mark All as Read |
Your KODEO notifications, all read. |
Source Control (the project’s Git)
| Command |
What it does |
| KODEO Git: Commit |
Commit your staged changes — with co-authors from the room. Live files are settled first, so the commit holds what’s on screen. |
| KODEO Git: Commit & Push |
Commit, then push to GitHub (on KODEO’s server). |
| KODEO Git: Commit (Amend) |
Amend the last commit — refused once it’s pushed. |
| KODEO Git: Stage All Changes |
Your staging is yours — teammates stage their own. |
| KODEO Git: Unstage All Changes |
Unstage everything you staged. |
| KODEO Git: Switch Branch… |
Switches the project for everyone; your uncommitted changes are parked and come back. |
| KODEO Git: Create Branch… |
A new branch, optionally switching to it. |
| KODEO Git: Pull |
From GitHub, merged on KODEO’s server. |
| KODEO Git: Push |
To GitHub — your GitHub token never reaches VS Code. |
| KODEO Git: Fetch |
What’s new on GitHub. |
| KODEO Git: Publish to GitHub… |
Create a GitHub repository for this project. |
| KODEO Git: Initialize Repository |
Start Git for this project (for everyone in it), with an optional .gitignore. |
| KODEO Git: Clone from GitHub… |
Any public repository by link, or one of yours — its files become the project’s (the old ones go to the trash). |
| KODEO Git: Link a GitHub Repository… |
Point pushes and pulls at an existing GitHub repository. |
| KODEO Git: Unlink GitHub Repository |
Stop syncing with GitHub; the history stays. |
| KODEO Git: Merge Branch… |
Merge another branch into the current one — conflicts show up in Source Control and in the files. |
| KODEO Git: Abort Merge |
Put the files back as they were before the merge. |
| KODEO Git: Rename Branch… |
Rename a branch. |
| KODEO Git: Delete Branch… |
Delete a branch (asks before dropping unmerged work). |
| KODEO Git: Stash Changes… |
Put your changes aside; Pop / Apply / Drop Stash… bring them back or discard them. |
| KODEO Git: Pop Stash… |
Apply a stash and drop it. |
| KODEO Git: Apply Stash… |
Apply a stash and keep it. |
| KODEO Git: Drop Stash… |
Delete a stash for good. |
| KODEO Git: Create Tag… |
Tag the current commit (a message makes it annotated). Right-click a commit in KODEO History to tag that one. |
| KODEO Git: Delete Tag… |
Delete a tag on KODEO. |
| KODEO Git: File History |
The commits that changed this file, in KODEO History (Source Control) — each opens as a diff; right-click to restore that version. |
| KODEO Git: Refresh |
Reload the repository state. |
| KODEO Git: Create Pull Request… |
From the current branch to the default one. |
| KODEO Git: Refresh |
Reload pull requests and CI checks. |
Settings
| Setting |
What it does |
kodeo.server |
The KODEO server (https only; http://localhost for development). Default https://www.kodeo.website. |
kodeo.presence.showNames |
Show teammates’ names next to their cursors (initials once they’re still); hover a cursor for who, where and what. Default on. |
kodeo.roomMessages |
Pop up teammates’ comments, replies and chat messages. Default on. |
kodeo.git.inlineBlame |
Who last changed the line your cursor is on, at the end of the line. Default on. |
kodeo.linkedFolder.syncOnSave |
In a linked folder, send saved files to KODEO right away. Default on. |
kodeo.openLinksIn |
Where Open in VS Code links open a project: linked (default) · remote · ask. |
Requirements
- A KODEO account (free) — kodeo.website.
- On vscode.dev: a current Chrome, Edge, Firefox or Safari (for Ed25519 in Web Crypto).
Help
Licensed under the MIT licence.
| |