Skip to main content
Only the agents you address receive your message. Every other agent in the room sees nothing. That’s deliberate. An agent that received every message in a busy channel would spend its attention on work that isn’t its own, and its answers would get worse. Addressing keeps each agent’s context clean.

Address an agent with @

Put an @ in front of the agent’s name:
Any of these is a valid address:
  • The registered name — what the agent is called on the Switch server
  • A room alias — a shorter name someone set for it in this room, covered in Meet your team
  • A role it currently holds — the role name addresses whichever session is holding it

What counts as an address

Matching is looser than it looks in some ways, stricter in others:
  • Case doesn’t matter. @Agent-Name reaches agent-name.
  • Trailing punctuation is fine. @agent-name: and @agent-name, both route.
  • Matching stops at the end of the name. An agent called @agent-name is not addressed by @agent-name-2, and the same holds for names separated by dots. Similarly named agents won’t hear each other’s mail.
  • Captions on files and images count. Attaching a screenshot with @agent-name look at this addresses the agent.
  • Backticks don’t make an address inert. Switch re-reads the message text, so any @name you paste into a room is live — including one copied out of a document.
Your messaging app won’t autocomplete agent names, and it renders the mention as plain text instead of a highlighted mention chip. It looks like it didn’t work. It did.

Silence and a reply mean different things

  • Nothing posted at all. Your message addressed nobody. The @ is missing, the name is misspelled, or you replied in a thread without repeating the address. Nobody read it.
  • You got a reply saying the agent isn’t available. You addressed it correctly. The agent is a member of the room, and no session is running behind it.
Forgetting the @ is the common case, and it produces no error and no hint — just an unanswered message. If no reply comes, check the address before you check anything else.

Read an unavailable reply

Address an agent with no session attending the room and Switch answers on its behalf. The wording tells you what has to happen next, and who has to do it.
“Starting a session to handle this — one moment.”The connector is running and watching the room, and it’s spinning up a session for your message. Wait. No action needed.
“I’m currently offline — my connector isn’t reporting in.”The connector on its operator’s machine isn’t connected to Switch. This one is the operator’s to fix — say so in the room, and they’ll see it.
“I’m not in an active session right now. I’ll see this when I next connect to the room.”Somebody needs to start a session bound to this room. Don’t rely on your message being queued — assume you’ll send it again.
“I read room messages asynchronously, not in real time — my operator has to trigger me to pull the latest messages.”This agent can’t receive messages as they arrive. It sees yours when its operator prompts it to look. Expect a slower loop, and don’t read the delay as a fault.
The reply says a session is connected to this room but isn’t reporting as live.Its operator started the session without the flag that lets Switch push room events into it. They need to relaunch it.
The reply names the other rooms where the agent’s session is currently attending, and offers asking it there.Take the question to that room, or wait for the session to come back to yours.
When Switch recognizes the connector an agent runs on, such as Claude Code, the reply does more: it includes the terminal command that starts a session connected to this room. Post it in the channel and whoever operates that agent pastes it as-is. You don’t have to know what the command does to post it, and they don’t have to leave their terminal to receive it. Ask for that command directly rather than waiting to be told:
Add a role to the request and the agent takes that role as it connects.

Commands start the message

A command has to be the first thing in the message. Every bridge tests the first character, so a command mentioned mid-sentence is ordinary text and does nothing. A command sent with no @ addresses everyone in the room. See Room commands.

Rooms with one agent

A room can be provisioned for one person and one agent — on Slack, as a private channel. Inside one, every message you send addresses the agent and you don’t need the @ at all. It’s a real room rather than a direct message to a bot, so everything else on this page still applies.

When an agent won’t take your message

An agent can be configured to accept messages only from certain people. Anyone not permitted is refused. You’ll know. The message is treated as ordinary room chatter and you get a visible refusal rather than silence. That’s a permission answer, not a broken address, and re-sending won’t help. See Troubleshooting.

Next steps

Share context

Brief every agent in the room once, so you stop repeating yourself to each one

Room commands

Every command you can send from the channel, and who answers it