tether

An email link for steering a coding agent during a long-running session. It sends occasional status updates and reads your email replies, including questions and new instructions.

In plain words
What is it for?
Use it to receive meaningful progress updates, reply with instructions, or send “stop” to end the session.
Why use it?
It lets you follow and guide work while away from the computer instead of waiting at the coding session.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/tokencanopy/e2a/tether
Any agent
npx skills add tokencanopy/e2a --skill tether
Clone the repo
git clone --depth 1 https://github.com/tokencanopy/e2a

Made for: Claude Code, Codex.

Per session 82 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,031 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00082 $0.05031
Opus 5 $0.00041 $0.02516
Sonnet 5 $0.00016 $0.01006
Haiku 4.5 $0.00008 $0.00503

Measured yesterday against content hash 5bd0485b9a40, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

tether scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

The scan reads SKILL.md. This mod also ships 4 executable files (hooks/tether-notify.sh, install.sh, lib.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

chmod 600 ~/.e2a-tether.env # fill E2A_API_KEY (e2a_agt_…) + E2A_AGENT_EMAIL

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

automatic while the terminal stays open, and cheap (curl only, no tokens).
plugins/e2a-labs/skills/tether/SKILL.md · 322 lines

How it starts

The opening of the file, as written. The whole thing — 322 lines — stays where its author put it; the contents beside it link to each section on GitHub.

tether — steer a long-running session from your inbox

Beta. The transport (e2a) and the flow are real; polish (adaptive backoff, richer digests) is still open.

/tether keeps you connected to a working session over email. The agent emails you updates when it judges there's something worth reporting (not on a timer, not every turn), and checks your inbox on an interval so your replies — questions or new instructions — are picked up within a few minutes. Reply stop to end.

Transport primer. tether rides on e2a. The e2a operate-well manual — the dependency-provided e2a skill — carries the mental model this skill assumes: how threading really works (reply headers + stable subject, not conversation_id), when a shared agents.e2a.dev address is all you need vs. a custom domain, and how to handle send statuses. Read the e2a skill by name if you're new to e2a; tether does not re-explain those.

Architecture (why this shape)

Coding agents are turn-based; nothing native listens to an inbox mid-session. So the two directions use different mechanisms:

  • Send = agent-driven. The agent calls tether.sh update "…" at meaningful moments (finished a slice, hit a blocker, needs a decision). Cadence is the model's judgment → no per-turn spam, nothing to throttle.
  • Receive = real-time wait. The agent runs tether.sh listen — it blocks on the e2a CLI's WebSocket (e2a listen --once; no LLM tokens while waiting) for the duration set at start --for, so replies are picked up within seconds; if the WebSocket is unavailable it degrades automatically to interval polling. It wakes the agent only when a reply actually arrives (or the window ends). See Durability tiers for keeping it alive across idle/sleep.
  • Questions = ask by email. When the agent needs a decision or clarification from you, it must not use a terminal prompt / AskUserQuestion — you're AFK and can't see it, which would stall the whole session. It calls tether.sh ask "<question>", which emails the question into the thread and blocks until you reply, then prints your answer. This is the hard rule: while tethered, every question goes over email, never the terminal.
  • Blocked-alert = hook (optional). A Notification hook emails you when the agent is stuck on a permission prompt it can't proceed past. Note: an emailed reply cannot answer a CLI permission prompt (there's no native way to inject approval), so for unattended runs pre-authorize the tools the session needs (a permission allowlist / a less-prompting mode). The hook is the safety net, not the approval channel.

Read the full file on GitHub · 322 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 322 lines · 82 tokens per session scan B 5bd0485b9a40

Subscribe to this mod's changes

tether is a skill published in the GitHub repository tokencanopy/e2a (184 stars, last pushed yesterday), licensed Apache-2.0. It adds 82 tokens to every session and 5,031 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it B with 2 findings (asks for root, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

commune-email

I give you a real email inbox and let you send, receive, search, and manage email threads programmatically via the Commune API. Every inbox I create is RFC 5322 compliant — replies thread correctly in any email client, including Gmail, Apple Mail, and Outlook.

black22345/commune-cookbook · 0 tokens

commune-agent-network

Requires COMMUNEAPIKEY environment variable. Get one at commune.email.

black22345/commune-cookbook · 0 tokens

commune-sms

I give you a real phone number and let you send and receive SMS messages programmatically via the Commune API. You can send texts to any number, read conversation threads, and list all your SMS conversations — all from within your OpenClaw agent.

black22345/commune-cookbook · 0 tokens

skills

Email API for AI agents. Create inboxes, send/receive email, manage threads and webhooks.

deadsimple-email/deadsimple-email · 0 tokens

shipmail

Operate Shipmail custom-domain business email, agent inboxes, calendars, booking pages, newsletters, webhooks, and related account resources through the Shipmail MCP server. Use when the user asks to read or triage a Shipmail inbox, draft or send email, reply to a message or thread, manage a mailbox or domain, check…

shipmail-to/shipmail-mcp · 82 tokens

clawaimail

Email infrastructure for AI agents — create inboxes, send and receive real emails, search messages, manage threads. Alternative to AgentMail with MCP server, REST API, webhooks, and WebSocket streaming.

joansongjr/clawaimail · 46 tokens