Shopify’s River AI agent turns Slack into a public workshop

Shopify has just rolled out River, a Slack-based AI agent built to keep work visible in public channels—not private DMs. CEO Tobi Lutke says the goal is “apprenticeship at scale,” with River shipping code, opening PRs, and helping teams learn in the open.

Shopify’s River AI agent turns Slack into a public workshop

TL;DR

  • River (Slack-based AI agent): Framed as a visibility and apprenticeship tool, not primarily a coding assistant
  • Public-by-default workflow: Lives in Slack, ignores DMs; pushes work into searchable public channels
  • Capabilities claimed: Read code, run tests, write code, open PRs, query data warehouse, inspect production traces
  • Usage metrics (last 30 days): 5,938 employees, 4,450 channels; 1,870 PRs in main monorepo in one week
  • Interaction model: Invoked via “@River”; responds in threads; joins ongoing discussions with facts and fixes
  • Architecture and learning: “qmd” memory by “channel+person+zone”; PR success rose 36%→77% via employee teaching

Shopify CEO Tobi Lutke appears to be arguing that River — the company’s Slack-based AI agent — is less interesting as a coding tool than as a way to make work visible. In a long post, Lutke linked the system to his own apprenticeship in Germany, where he learned programming by watching more experienced workers, and then likened River to a "teaching workshop" that scales across the company.

According to Lutke, River lives in Slack and does not answer direct messages. Instead, employees are pushed toward public channels, where conversations are searchable and others can join in. He claims the agent can read code, run tests, write code, open pull requests, query a data warehouse, and inspect production traces. He also states that in the last 30 days, 5,938 Shopify employees used River across 4,450 Slack channels, and that it opened 1,870 pull requests in the company’s main monorepo in a single week.

The public setup seems designed to make River more than a private assistant. Lutke argues that people learn by watching one another work with the agent, not just by reading a transcript of the output. In one reply, he suggested that a public channel is valuable because River is often brought into an existing discussion, investigates the code, adds facts, and sometimes offers to fix the issue itself. He also noted that River responds in thread, so users can start a conversation by posting "@River" at the top level.

Lutke’s post also gestures at the architecture behind the tool. In a reply to a question about memory, he mentioned a system based on qmd organized by "channel+person+zone." Elsewhere, he indicated that River’s improvement came from people watching it work, noticing where it struggled, and documenting what it should have known. He contrasted that with private AI use, where any learning stays with the person at the keyboard.

That emphasis on visibility drew some pushback in the replies. One commenter questioned whether public searchability alone would be enough, while another raised the possibility that junior employees might hesitate to use River openly. Lutke’s response to a concern about people treating AI work like proprietary "IP" was blunt: "Not employ people who think like that."

Still, the general argument in the thread was consistent: public AI use, at least inside Shopify, is intended to turn ordinary work into a shared apprenticeship. Lutke pointed to a recent jump in River-authored pull-request success, from 36% to 77% over two months, and attributed that shift to employees teaching the agent rather than changing the model. On his telling, the point is not simply that River gets work done, but that the company gets to watch how that work gets done.

Source: X

Continue the conversation on Slack

Did this article spark your interest? Join our community of experts and enthusiasts to dive deeper, ask questions, and share your ideas.

Join our community