Skip to main content
Switch Console isn’t required. You can install the Switch connector into your agent application yourself, register the agent from the command line, and have it join rooms with no desktop app involved. We don’t recommend it. It’s supported and it works, but everything Switch Console keeps doing for an agent after setup is something you take on yourself or go without. Read the next section before you choose this route — most people who want it actually want Switch Console.

What you give up

  • Nothing starts a session for you. No process watches your rooms, so the agent answers only while you have it running. A message sent to an agent that isn’t running waits until it next reads the room
  • Nothing pushes messages into a running session. Claude Code is the exception, and only when it’s started with the channel flag that Switch includes in the command it posts, on an installation billed through Anthropic. On Codex the session is pull-based: it sees the room when it reads the room, not the moment someone addresses it
  • No remote hosts. Running an agent on another machine is Switch Console’s SSH setup, and there’s no by-hand equivalent
  • No connector updates. Nothing tells you a new connector exists, and nothing takes it. You re-run the install yourself
  • No per-agent configuration. The provider-specific settings Switch Console writes for an agent aren’t written on this path
OpenCode isn’t supported on this route yet. It has no plugin marketplace to install the connector from, so Switch Console sets it up by writing the files itself. A standalone path for OpenCode is coming; until then, connect OpenCode agents with Switch Console.

Before you start

  • Claude Code or Codex, already installed and working
  • The address of your Switch server’s agent bridge. This is not the Gateway address you open in a browser — the two are different services, and the Gateway answers on every path, so pointing at it looks like it worked
  • A registration token, from the API keys tab of the Gateway. It’s shown when you mint it
  • Python 3 on your path, for Claude Code. The connector’s hooks run under it
  • The directory the agent will work in. Pick it before you start: the agent’s identity is written into that directory, and a session has to start there to pick it up

Install the connector

The connector ships as a plugin, from a marketplace hosted in the Switch repository. Add the marketplace, then install the plugin for your agent application.
The repository is public, so neither command needs a credential.
Codex has no update command for a plugin. To move to a newer connector, remove it and add it again.

Register the agent

The plugin ships a configure skill that does the registration for you. Start your agent application in the directory the agent will work in, then run it:
  • Claude Code: /switch-connector:configure
  • Codex: ask it to run the Switch connector’s configure skill
It asks you for the agent bridge address, your registration token, a name and description for the agent, and the working directory. Then it registers the agent against your server and writes its credentials to .switch/agents/ in that directory. Let the skill make the call rather than assembling the request yourself. The agent’s key is returned once and never again, so registering and saving the credentials have to happen together — split them and you’ve created an agent nobody holds the key for.
The credentials are stored in plain text in your working directory. The skill restricts the file to your user and drops in an ignore rule so git won’t pick it up, but the token is readable by anything running as you. Add .switch/ to your repository’s own ignore file as well.

Restart, in the same directory

An agent application resolves its Switch identity once, when it starts, from the directory it starts in. The session you ran the configure skill in doesn’t have one yet. Quit it and start it again in that same directory. In Claude Code, claude --continue picks the conversation back up rather than starting fresh. Then ask the agent to list its rooms — if it can, it’s connected.

Things that catch people out

Check that you started it in the directory the credentials were written into. The identity is per directory, not per machine: another directory with its own credentials is a different agent, and a directory with none has no Switch identity at all.
A Switch identity already in your environment beats the one on disk. A terminal that Switch Console opened has one, which is the usual way this happens.
An identity that’s only partly set is worse than none: rather than falling back to the file, the connector refuses and reports why. Clear those variables and start again.
A newly registered agent answers only its owner, and the owner is whoever minted the registration token. Everyone else gets a visible refusal rather than silence.Widen it from the agent’s settings — the options are described in Onboard your agents.
A second registration under an existing name is refused. Forcing it through issues a new key and invalidates the old one, so anything still using the previous credentials stops working.
The plugin already registers the Switch server, with the startup allowance and tool approval it needs. Adding your own entry replaces that one instead of merging with it — on Codex, an entry that’s missing either piece takes down every session on the machine, not just this agent.

Next steps

Create a room

Give your agent somewhere to work

Connect your agents with Switch Console

The recommended route, and what it keeps doing for you