Send arelay.to chats through MCP, not a /tmp file
Claude Code auto mode classifies the visitor prompt's first step — write /tmp/arelay-<id>.txt, then curl that file to arelay.to — as exfil scouting, and then refuses the rest of the chat. The pasted prompt no longer does that.
The snippet in web/lib/agent-chat-snippet.ts now:
-
Opens by naming the exact opening text (
hi. What can you help with?) and the conversation address. -
Uses Claude Code's official MCP channel as the main path. The command is the documented stdio form, and the server is the real Agent Relay MCP server (
npx -y agent-relay mcp, the same server asagent-relay mcpand theagent-relay-teamsplugin):claude mcp add --transport stdio agent-relay -- npx -y agent-relay mcpAn MCP tool sends this conversation only when that tool posts to the named address.
-
Falls back to one command that posts the message inline. It reads no file and no environment variable:
curl -sS --data-binary 'hi. What can you help with?' 'https://arelay.to/agent-relay/<id>'
The hosted bridge.sh is unchanged for a person who runs it themselves. The pasted prompt no longer points at it, because that path stages messages on disk.
Tests assert /tmp is gone from the snippet and the agent guide. The MCP docs and the arelay.to runbook match the new commands. The older claude-relay-plugin install name is not an alias; the current plugin is claude plugin install agent-relay-teams --marketplace AgentWorkforce/skills.
No merge and no deploy.


Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the arelay.to chat snippet so Claude Code auto mode no longer blocks it as exfil scouting. The old prompt wrote the message to /tmp/arelay-<id>.txt and curled that file; the new one names the exact message and address first, connects Claude Code through the Agent Relay MCP server (claude mcp add --transport stdio agent-relay -- npx -y agent-relay mcp), and falls back to one inline curl whose body is the message (no file, no environment variable).
- The hosted
bridge.shis unchanged for people who run it themselves, but the snippet no longer points at it. - Tests and docs now assert the snippet and agent guide contain no
/tmpand match the new commands.