Coding Agents over Telegram, Part 3: The Day-to-Day Operating Contract A developer details the operating contract for a Telegram-based coding agent relay, defining local control commands like status, interrupt, and compact that the relay handles directly, while all other input is forwarded to the agent. The post explains the single routing rule that confuses new users: when the agent asks a question, the user's reply goes straight to the agent, not the relay. It also warns against sending certain unsafe inputs and emphasizes precise prompting for effective agent interaction. You finished Part 2, so you have a topic where you type a message and a coding agent answers and drives a pane. This post is the operating contract: the small vocabulary the relay understands, the one routing rule that confuses everyone the first day, and because this is a phone wired to a shell the short list of things you must never send. It's a contract, not a tutorial; read it once and you'll drive the thing confidently. Keep the mental model from Part 1 in front of you: you are talking through a relay agent to a coding agent in a tmux pane. The relay is a courier. Most of what you type is forwarded straight to the pane; a handful of words are handled by the relay itself. These are local control : the relay acts on them instead of forwarding them. They come from the relay's AGENTS.md the command table you wrote in Part 2 , so the exact phrasings are yours to tune: | You type | What happens | |---|---| status / what's in tmux? | Relay captures the pane, strips the terminal formatting, and summarizes what the agent is doing right now | send