---
title: "Connect Channels to VS Code desktop"
canonical: https://workspace.socra.com/docs/channels/integrations/vscode
---

# Connect Channels to VS Code desktop

Connect VS Code desktop to Channels using a public OAuth client in your Cloud Project. You need permission to manage OAuth clients and a VS Code version with HTTP MCP and static OAuth client support. This guide uses a local desktop window; remote windows, vscode.dev and GitHub Copilot CLI have separate requirements.

If Channels is already connected, preserve that connection. For a separate setup, choose a distinct server name and use it throughout the configuration and verification.

## 1. Select your Project and enable Channels

Open [Cloud Projects](https://platform.socra.com/projects) and choose your Account. Use **Manage Cloud Projects → Switch Projects** to find and select the Project. Confirm it in **Switch Cloud Project**.

Create a Project if needed. From inspection details, use **Back to list → Switch Projects**, or close the manager when the intended Project is already active.

Open **Enabled services**. Continue if Channels is listed; otherwise choose **Enable service → Channels** and confirm it appears. Keep this Project selected. Service enablement does not establish host authorization.

## 2. Register a public client

Open **OAuth → Overview**. If needed, choose **Set up OAuth**, enter **Channels for VS Code**, complete the consent information and save. Preserve an existing configuration.

Open **OAuth → Clients → Create client**. Name it **Channels for VS Code desktop**, choose **Native**, leave JavaScript origins empty, and register:

```url
http://127.0.0.1:33418/
```

Include the callback’s final slash. The [VS Code desktop loopback source](https://github.com/microsoft/vscode/blob/main/src/vs/workbench/api/node/loopbackServer.ts) prefers port 33418 but falls back to another port if occupied. For this exact registered callback, ensure your local session can use 33418. If a different port appears, cancel that attempt and resolve the port conflict with the owner before trying again. Preserve working applications and connectors. Do not substitute the hosted vscode.dev callback into this desktop setup.

Create the public client and copy its client ID. This client does not need a client secret. If access is denied, use **Copy access request** with your Account and membership identity; ask the Project owner to resolve it, then choose **Check access again**.

## 3. Add the remote server

In the Command Palette, choose **MCP: Open User Configuration** for your user profile, or **MCP: Open Workspace Folder MCP Configuration** for the workspace’s `.vscode/mcp.json`. Merge this entry into the existing `servers` object and replace `YOUR_CLIENT_ID`:

```json
{
  "servers": {
    "socraChannels": {
      "type": "http",
      "url": "https://channels.socra.cloud/mcp",
      "oauth": {
        "clientId": "YOUR_CLIENT_ID"
      }
    }
  }
}
```

Preserve other server entries. If you chose a distinct server name, replace `socraChannels` here and use that same name when enabling and verifying the connection. The [VS Code MCP reference](https://code.visualstudio.com/docs/agents/reference/mcp-configuration) documents `oauth.clientId` for a registered client. No fixed authorization header or client secret is needed for this public client.

## 4. Authorize your Account

Before authorizing, review the access you are granting. Channels tools can read and modify data that your selected Account permits. The single read-only verification below does not restrict the connection’s overall authority. Review later tool calls and approve only the actions you intend.

Run **MCP: List Servers**, select your configured server and start it. Follow any trust prompt for the configuration you added. On first connection, VS Code opens the browser for OAuth authorization. Sign into Socra, choose the Account you use in Channels and approve access. Return to the same VS Code window.

If interrupted, return to the same connection. Check the client ID, exact desktop callback, enabled service and Account before retrying an error. If your VS Code version or organization policy prevents the setup, ask its owner or support to resolve that prerequisite. Keep working configurations intact.

## 5. Verify a real read

In a VS Code agent chat, enable the configured Channels server’s tools. Ask it to use that server:

```text
Use Socra Channels to make exactly one channels_list tool call with limit 1. Do not read messages or send, create, update or delete anything. Report whether the call succeeded. An empty list is valid.
```

Review the tool approval and arguments. `channels_list` must execute with `limit: 1` and return a result; an answer without execution does not verify the connection.

If no tool runs, check the server and tool controls. For a failed call, retain the error and check the authorized Account and enabled Channels service in the client's Project. Ask the Account or Project owner to resolve denied access before retrying.

## Stop or remove this connection

Run **MCP: List Servers**, select only your Channels server and choose **Stop**. To remove its configuration, open the same user or workspace MCP configuration used above and remove only the `socraChannels` entry from `servers`. Use your distinct name if you chose one; preserve the other entries. Check the server list afterward. Stopping a server can be temporary; remove its configuration if you do not want it started again.

For optional cleanup of a client registration dedicated to this connection, ask its Project owner to select the same Project in Platform, open **OAuth → Clients**, select that exact client and choose **Delete**, then review the confirmation that its secrets are also removed. Preserve clients shared by other working connections. Removing a host entry or deleting a registration is not proof that every previously issued token has been revoked; ask the Account authorization owner for server-side revocation when that is required.

## See also

- [Connect Channels to Cursor desktop](/docs/channels/integrations/cursor)
- [Connect Channels to Claude Code](/docs/channels/integrations/claude-code)
- [Conversations and access](/docs/channels/concepts/conversations-and-access)
