> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xano.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XanoScript VS Code Extension Deprecation

> Information on the deprecation of the original XanoScript VS Code Extension, and how to proceed

## What's happening?

The XanoScript VS Code Extension is being deprecated, in favor of the more recent [XanoScript Language Server extension](/vscode-ext) paired with the [Xano Developer MCP](/developer-mcp/get-started) and [CLI](/xano-cli/get-started).

## Why?

The Developer MCP provides a much more robust XanoScript writing and validation experience, and the CLI enables more reliable push/pull capabilities with sandbox environments for review.

## I'm still using the old extension

That's okay! It's easy to move over to the new workflow.

### Try this prompt

Paste this into your AI coding agent and it will handle the setup for you:

```text theme={null}
Access Xano's Get Started prompt at https://go.xano.co/start-xano-skill. It will walk us through installing the Xano Developer Tools and the Xano development workflow.
```

### Or follow the instructions below

<Steps>
  <Step title="Uninstall the old XanoScript extension" />

  <Step title="Install the new XanoScript Language Server extension">
    Get the VS Code extension from the Marketplace [here](https://marketplace.visualstudio.com/items?itemName=xano.xanoscript-language-server).
    Using Cursor, Windsurf, or another OpenVSX-based IDE? Install it from OpenVSX [here](https://open-vsx.org/extension/xano/xanoscript-language-server).
  </Step>

  <Step title="Install the Xano CLI">
    The CLI allows you or your AI agents to push/pull XanoScript code from your workspaces.

    ```bash theme={null}
    npm install -g @xano/cli
    ```

    then

    ```bash theme={null}
    xano auth
    ```

    <Note>
      There are additional steps if you're running in a non-standard environment, such as our self-hosted users. More [here](xano-cli/get-started)
    </Note>
  </Step>

  <Step title="Enable the Developer MCP">
    The Developer MCP is necessary to ensure your agent can write and validate XanoScript properly. Pick your client below for the quick setup, or see the [full client guides](/developer-mcp/clients/claude-code) for step-by-step walkthroughs.

    <Tabs>
      <Tab title="Claude Code">
        ```bash theme={null}
        claude mcp add xano -- npx -y @xano/developer-mcp
        ```

        Add `--scope user` to make it available across every project. Restart any active sessions. [Full guide →](/developer-mcp/clients/claude-code)
      </Tab>

      <Tab title="Codex">
        ```bash theme={null}
        codex mcp add xano -- npx -y @xano/developer-mcp
        ```

        Restart any active Codex sessions so the new server is picked up. [Full guide →](/developer-mcp/clients/codex)
      </Tab>

      <Tab title="Cursor">
        Manage MCP servers from Cursor's **Customize** page, or edit `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project root) directly:

        ```json theme={null}
        {
          "mcpServers": {
            "xano": {
              "command": "npx",
              "args": ["-y", "@xano/developer-mcp"]
            }
          }
        }
        ```

        Save and restart Cursor. [Full guide →](/developer-mcp/clients/cursor)
      </Tab>

      <Tab title="VS Code (Copilot)">
        Open the Command Palette (<span class="ui-bubble">⌘ / Ctrl + Shift + P</span>), run **MCP: Add Server**, choose **Command (stdio)**, and provide:

        ```bash theme={null}
        npx -y @xano/developer-mcp
        ```

        Name it (e.g. *Xano Developer MCP*) and choose **Workspace** or **Global** scope. [Full guide →](/developer-mcp/clients/vs-code)
      </Tab>

      <Tab title="Windsurf">
        Edit `~/.codeium/windsurf/mcp_config.json`:

        ```json theme={null}
        {
          "mcpServers": {
            "xano": {
              "command": "npx",
              "args": ["-y", "@xano/developer-mcp"]
            }
          }
        }
        ```

        Save and restart Windsurf. [Full guide →](/developer-mcp/clients/windsurf)
      </Tab>

      <Tab title="Gemini CLI">
        Add to `~/.gemini/settings.json` (or `.gemini/settings.json` in your project root to scope it to one project):

        ```json theme={null}
        {
          "mcpServers": {
            "xano": {
              "command": "npx",
              "args": ["-y", "@xano/developer-mcp"]
            }
          }
        }
        ```

        Restart any active Gemini CLI sessions. [Full guide →](/developer-mcp/clients/gemini-cli)
      </Tab>

      <Tab title="Claude Desktop">
        Edit your config file — `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

        ```json theme={null}
        {
          "mcpServers": {
            "xano": {
              "command": "npx",
              "args": ["-y", "@xano/developer-mcp"]
            }
          }
        }
        ```

        **Fully quit and restart Claude Desktop** — reopening the window is not enough. [Full guide →](/developer-mcp/clients/claude-desktop)
      </Tab>
    </Tabs>

    <Tip>
      To confirm it's working, ask your agent: *"What version of the Xano Developer MCP is installed?"* It should call `mcp_version` and return the current version number.
    </Tip>
  </Step>
</Steps>

## How do I see my changes now?

The old extension's diff view is gone, but the CLI diffs for you — you don't have to set anything up to get it.

**Every push previews itself first.** The CLI collects your local `.xs` files, compares them against your workspace, and shows you exactly what will change before applying anything: a per-type count of creates, updates, and deletes, then the individual operations, any [destructive operations](/xano-cli/push-pull#destructive-operations) called out separately, and any objects that exist in Xano but not locally. Then it prompts for confirmation.

To see that comparison without pushing, add `--dry-run` — it prints the full preview and exits:

```bash theme={null}
xano workspace push -d ./my-workspace --dry-run
```

Add `-v` to see a `reason` line under each operation explaining why it was classified that way.

**The sandbox gives you a reviewable diff in the browser.** Push to your [sandbox](/xano-cli/sandbox) — an isolated, ephemeral copy of your workspace — then open the review screen to inspect the diff against your workspace and promote it when you're satisfied:

```bash theme={null}
xano sandbox push -d ./my-workspace --review
```

Nothing reaches your live workspace until you promote it there.

<Note>
  On paid plans this is the default path — `xano workspace push` is blocked and prompts you to go through the sandbox first. You can bypass it by enabling **Allow Direct Workspace Push** in **Xano → Workspace Settings**.
</Note>

<Tip>
  Because your workspace is now plain files on disk, you can also put it under version control and get commit history and diffs on top of all this — see [Working with Git](/xano-cli/push-pull#working-with-git).
</Tip>

## Why the new workflow is better

The old extension tied XanoScript development to a single editor. The new workflow removes that limit and adds capabilities the extension never had:

* **Build from anywhere your agents run.** You're no longer confined to one VS Code-based IDE — work from your terminal, your IDE's native AI assistant, or a coding agent right alongside your code.
* **Catch errors before they ship.** The Developer MCP validates XanoScript as it's written, so your agent fixes syntax and structural mistakes *before* they reach your workspace instead of after.
* **Safer, more complete sync.** The CLI's push/pull is more robust and fully-featured than the old extension's, giving you clearer control over what moves between local and Xano.
* **A better editing experience.** The XanoScript Language Server adds inline completion, syntax highlighting, and diagnostics — which every AI tool above reads from too.

## What's next

<CardGroup cols={2}>
  <Card title="Developer MCP" icon="plug" href="/developer-mcp/get-started">
    Get oriented with the Developer MCP and how it fits into your workflow
  </Card>

  <Card title="Xano CLI" icon="terminal" href="/xano-cli/get-started">
    Install, authenticate, and pull a workspace to develop against locally
  </Card>

  <Card title="Client guides" icon="book" href="/developer-mcp/clients/claude-code">
    Step-by-step setup walkthroughs for every supported editor and agent
  </Card>

  <Card title="Tools reference" icon="wrench" href="/developer-mcp/tools">
    Explore the tools the Developer MCP exposes to your AI agents
  </Card>
</CardGroup>
