Skip to content
 
 

Latest commit

 

History

163,476 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vibe vscode

English | 简体中文

Long-term vision: Keep your development environment running on a personal workstation or in the cloud. Wherever you are, open a browser, pick up where you left off, and start vibe coding.

vibe vscode is built on Code - OSS. It evolves the portable development editor of the pre-Agent era into a long-running workbench that can switch instantly between multiple task contexts. The goal is not to replace VS Code's editing, terminal, or extension capabilities, but to add stable context management so projects, terminals, and Agent sessions remain continuous across context switches and network interruptions.

Features Roadmap

Status: ✅ Available 🚧 In progress ⬜ Planned

Demos were recorded before the branding refresh.

  • Web-first operation: vibe vscode is designed for the browser first. We recommend hosting the development environment on an always-on machine or in the cloud, with the workbench always a web page away. Projects, terminals, and Agent tasks run on the server, while the browser handles interaction and state projection—no desktop client required.

    • Cached page loading and resumable downloads: Core startup resources are compressed, chunked, verified, and cached in the browser with visible download progress. Refreshing or reopening the browser reuses cached chunks, interrupted downloads resume only missing chunks, and new releases reuse unchanged content to reduce repeated downloads and improve loading on slow or unreliable connections.

      Reloading the workbench using cached startup resources

    • Sign-in required: Every hosted HTTP request and WebSocket handshake must pass sign-in before it reaches any VS Code route. The first visitor registers the single administrator account, after which registration closes. Sessions survive server restarts, renew while in use, and can be revoked from the Accounts menu or the Command Palette. Authentication is embedded in the remote server with Node's built-in SQLite and enforced by Caddy at the gateway; see the design document.

      Registering the administrator, signing out, and signing back in

    • 🚧 Non-blocking remote connectivity: Replace modal interruption with status-bar reconnect state, immediate retry after network recovery, and uninterrupted access to the current work. This is not yet included in the current implementation.

  • Logical Workspace: Create and select logical workspaces from the status bar or Command Palette without reloading the page. Switching saves and restores the visibility, size, and active view of the primary sidebar, panel, and secondary sidebar.

    • Remote authoritative state: The workspace catalog, layouts, and editor working sets are stored in remote SQLite. Other pages read the latest snapshot after refresh or reconnect, while each page keeps its active Workspace selection locally.
    • Terminal isolation and persistence: A terminal belongs to the logical workspace in which it was created, with ownership persisted in PTY process metadata. Switching workspaces moves terminals between foreground and background without closing them. A stable logical terminal ID survives local or remote PTYs, persistent-process reconnection, and page restoration.
    • Chat / Agent session-tab working sets: The session catalog and Agent Sessions list remain global and are not owned by a logical workspace. A future workspace projection will restore only its open session tabs; the same session may appear in multiple workspaces, and closing a tab will not delete the session. PR #1 removes the premature single-owner filtering and does not claim session-tab restoration as implemented.

    Logical Workspace demo

  • Project Context: Select or add a project folder inside a single multi-root physical Workspace. Explorer and Source Control follow the same state projection: switching Project focuses the Explorer root and shows only Git repositories inside the current Project, while open editors, terminals, and sessions remain intact. Separate status-bar entries distinguish Workspace from Project.

    Switching projects updates Explorer and Source Control

  • Fullscreen session management panel: Provide a workbench-wide interface for viewing, creating, switching, and managing Agent sessions in one place.

  • Document-driven development: Select document content in the editor and create a new Agent session from the context menu, using the selection as context so requirements and design documents can directly drive implementation.

  • Codex Agent-first interaction: Treat Codex Agent as the primary session experience, with priority given to session creation, interaction, status visibility, and restoration.

  • 🚧 Agent workflows: Explore Sim for repeatable development workflows with Agent, condition, parallel, and approval steps. Workflow integration and automated triggers are in progress.

Install

Linux x64, no root, no systemd; Node and Caddy are bundled. Install v1.135.0-vibe.1:

curl -fsSL 'https://github.com/ActivePeter/vibe-vscode/releases/download/v1.135.0-vibe.1/install.sh' | bash -s -- --tag 'v1.135.0-vibe.1'

The installer verifies the archive and selects it as ~/.vibe-vscode/current; it never starts anything. Custom install root, upgrades and rollback: Install and start.

Start

Use the hostname or IP you will type into the browser:

~/.vibe-vscode/current/bin/vibe-vscode start --origin https://dev.example.com:18080
# Open https://dev.example.com:18080; register the administrator, then add projects in the workbench.

Without your own TLS certificate, trust the Caddy root certificate printed at startup. Restrict access until the administrator is registered. Ctrl-C stops everything.

Option Default Use
--origin https://<hostname>:<port> The exact HTTPS address typed into the browser; repeat it for several entries, no domain needed
--port 18080 Public HTTPS port
--state-dir ~/.vibe-vscode/state Accounts, settings, extensions and the workspace; keep it across upgrades
--tls-cert / --tls-key self-signed Your own certificate and key
--session-ttl 43200 Session lifetime in seconds
# LAN, VPN and local entries at once
~/.vibe-vscode/current/bin/vibe-vscode start --origin https://192.168.1.5:18080 --origin https://100.64.0.7:18080 --origin https://localhost:18080

# Your own certificate on port 443
~/.vibe-vscode/current/bin/vibe-vscode start --origin https://dev.example.com --port 443 --tls-cert /path/fullchain.pem --tls-key /path/privkey.pem

# After the first start has created ~/.vibe-vscode/state, persist defaults so later starts need no options
printf 'VIBE_VSCODE_ORIGIN=https://dev.example.com:18080\n' > ~/.vibe-vscode/state/vibe-vscode.env
~/.vibe-vscode/current/bin/vibe-vscode start

# Optional: run as a user service
~/.vibe-vscode/current/bin/vibe-vscode systemd --install
systemctl --user daemon-reload && systemctl --user enable --now vibe-vscode

Details, health checks, upgrades and rollback: Install and start.

Develop from source

Install dependencies and use two terminals:

# Terminal 1: continuously compile changes
npm run watch

# Terminal 2: start the web workbench at http://localhost:8080
./scripts/code-web.sh .

Non-goals

  • Electron desktop product: vibe vscode product development, regression coverage, and releases target only Remote Web (browser Workbench + Remote Server). The repository retains the upstream Code - OSS Electron source to ease future synchronization, but does not publish, test, maintain, or promise compatibility for the desktop Electron product; Electron-specific regressions are not PR gates.

Visual Studio Code - Open Source ("Code - OSS")

Feature Requests Bugs Gitter

The Repository

This repository ("Code - OSS") is where we (Microsoft) develop the Visual Studio Code product together with the community. Not only do we work on code and issues here, but we also publish our roadmap, monthly iteration plans, and our endgame plans. This source code is available to everyone under the standard MIT license.

Visual Studio Code

VS Code in action

Visual Studio Code is a distribution of the Code - OSS repository with Microsoft-specific customizations released under a traditional Microsoft product license.

Visual Studio Code combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. It provides comprehensive code editing, navigation, and understanding support along with lightweight debugging, a rich extensibility model, and lightweight integration with existing tools.

Visual Studio Code is updated monthly with new features and bug fixes. You can download it for Windows, macOS, and Linux on the Visual Studio Code website. To get the latest releases every day, install the Insiders build.

Contributing

There are many ways in which you can participate in this project, for example:

If you are interested in fixing issues and contributing directly to the codebase, please see the document How to Contribute, which covers the following:

Feedback

See our wiki for a description of each of these channels and information on some other available community-driven channels.

Related Projects

Many of the core components and extensions to VS Code live in their own repositories on GitHub. For example, the node debug adapter and the mono debug adapter repositories are separate from each other. For a complete list, please visit the Related Projects page on our wiki.

Bundled Extensions

VS Code includes a set of built-in extensions located in the extensions folder, including grammars and snippets for many languages. Extensions that provide rich language support (inline suggestions, Go to Definition) for a language have the suffix language-features. For example, the json extension provides coloring for JSON and the json-language-features extension provides rich language support for JSON.

Development Container

This repository includes a Visual Studio Code Dev Containers / GitHub Codespaces development container.

  • For Dev Containers, use the Dev Containers: Clone Repository in Container Volume... command, which creates a Docker volume for better disk I/O on macOS and Windows.

    • If you already have VS Code and Docker installed, you can also click here to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
  • For Codespaces, install the GitHub Codespaces extension in VS Code, and use the Codespaces: Create New Codespace command.

Docker / the Codespace should have at least 4 cores and 6 GB of RAM (8 GB recommended) to run a full build. See the development container README for more information.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT license.

About

Visual Studio Code for remote vibe coding

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages