HomeBlog › `@agent`: name-addressable coworkers in your terminal
Blog

`@agent`: name-addressable coworkers in your terminal

Jul 19, 20265 min readBy the Rysh team

You @-mention people in Slack. Why can't you @-mention your agents in the terminal? In rysh, you can — @name talks, @@name manages.

Think about how you talk to a human teammate. You don't switch to a dedicated "talk-to-Deniz" application, wait for it to load, and lose your place in whatever you were doing. You type @deniz where you already are, say the thing, and keep working.

Now think about how you talk to your AI tooling. Alt-tab to the assistant. Focus its window. Paste context it lost since last time. Wait, watching. That's not how you treat a coworker; that's how you operate an appliance.

rysh makes agents addressable the way people are: by name, from wherever you already are.

The grammar

Two prefixes, two planes:

@code-reviewer take a look at the diff on this branch — actor code especially
@release-notes draft notes for everything merged since v0.1.24

@@code-reviewer stop
@@release-notes deactivate
@@release-notes activate

The doubled prefix is deliberate. "Do work" and "be managed" are different verbs, and mixing them into one channel is how you end up with an agent that interprets "stop" as a topic to write an essay about.

One input line, an entire roster

Here's the shift this enables. In most agent setups, the surface is the agent: one window, one assistant, one conversation you have to be "in." Adding a second agent means adding a second window, and now you're a window manager.

In rysh, the input line you already own is a router. Behind it sits a registry of named workers — spawn them from markdown files (https://rysh.ai/blog/agents-from-a-markdown-file), list them with ##agent list, and address any of them from any pane:

@test-writer cover the new codec paths, table-driven please
@docs-agent the README section on sessions is stale — fix it against the code
@code-reviewer both of those, when they're done

Three agents, three tasks, zero window switches. Your terminal stops being a place where you run one assistant and becomes a place where you staff work.

And the same grammar reaches further than you'd expect: names are resolved against rysh's agent registry and its humanoid registry — humanoids being agents wired to external channels like Slack or email. @support-triage summarize today's tickets addresses a worker that lives half in your terminal and half in your inbox, with the exact same syntax. One mention grammar, no matter where the worker faces.

Where replies land (and why that's not chaos)

An obvious worry: five agents talking into your terminal sounds like a scrollback nightmare. It isn't, for one structural reason — rysh panes keep separate output streams per mode. Your shell output is one stream. Your own AI prompts are another. Agent chatter is chat, a third.

You choose which pane an agent reports to:

##agent register-output code-reviewer

Now the reviewer's findings arrive in that pane's chat stream — not spliced into the middle of your go test -v output, not lost in another window. Point different agents at different panes and you've built yourself a tiny newsroom: work on the left, correspondents filing on the right.

Why addressing beats switching

This seems like ergonomics. It's actually about what you'll do.

When talking to an agent costs a context switch, you batch. You save up questions, you do the work yourself because asking is friction, you use one generalist agent for everything because managing several isn't worth it. The tax shapes the behavior.

When talking to an agent costs typing its name, delegation becomes ambient. Small tasks get handed off at the moment you think of them, to the specialist whose standing orders fit. That's the actual difference between "we have an AI assistant" and working alongside agents — not model quality, but whether delegation is cheap enough to be reflexive.

The honest part

rysh runs on Claude — bring your own Anthropic key — and it's self-hostable, so the roster of named workers lives in your session on your infra. The @ grammar doesn't make the agents smarter; the model reasons, your skill files steer. What addressing buys is throughput: more delegation happening, because each delegation costs almost nothing.

Names are how humans scale collaboration. Turns out they're how you scale agents, too.


rysh is in private beta. If "a roster of named agents behind one input line" sounds like your kind of workflow, we're onboarding design partners — free access, direct line to the founder: https://rysh.ai/design-partner

Related: Autonomous agents from a markdown file · ##agent spawn-all: hire a whole team from a folder of markdown

Try Rysh

Every pane is a shell and an AI agent — install takes one command.

Get started free →