Repository navigation
Torch v10.1.0
Remote re-authentication actually works end to end, the Telegram bridge is drivable from MCP, and there is a skill that teaches an agent to run Watchfire.
Added
Telegram over MCP — 4 new tools, no proto change. An outer agent can now set up and inspect the bridge without leaving the session:
| Tool | Does |
|---|---|
telegram_status |
Bridge/enabled/token/pairing state + paired chats, and a next_step naming the one thing that unblocks setup |
telegram_configure |
Flip enabled, optionally store the @BotFather token |
telegram_pair |
Mint the one-time code + deep link (returns immediately; poll status) |
telegram_unpair |
Revoke a chat_id — the only surface that exposes revocation |
telegram_status is served under --read-only; the three mutating tools are not registered at all. The bot token stays write-only end to end. Catalog: 18 → 22 tools.
A watchfire skill (.claude/skills/watchfire/SKILL.md) — the factory loop and its traps, one-agent-per-project, the run modes and why wildfire needs consent, a diagnosis ladder, the Telegram setup path, and where configuration lives. Every claim in it was verified against the source.
Fixed — /login from your phone now actually re-authenticates
The headline bug took four separate fixes, because each one hid the next:
- The keychain write was silently denied. The sandbox allowed the keychain files, but macOS replaces the keychain atomically — via a temp file in the same directory — so every write failed with
EPERM./loginprinted "Login successful" while the refreshed token had nowhere to land, and the next request 401'd. The profile now allows the containing directory. - The final Enter was never pressed. Claude ends its login dialog with "Press Enter to continue…" and waits. The bridge now presses it, verifies the dialog closed, and reports the account it signed in as.
- The sign-in URL was corrupted. The scraper joined the whole screen, welding
Paste code here if prompted >onto thestateparameter — which travelled to the browser and came back inside your code. - The reply after login went missing. It was being edited into the pre-login message bubble, above the sign-in exchange. Any bridge reply now ends edit-in-place growth.
Also fixed
WATCHFIRE_SANDBOX_TRACE=1no longer kills every sandboxed agent (it broke the profile it was meant to diagnose, causing hundreds of start/exit loops).- A multi-byte character split across a PTY read no longer breaks
get_agent_screenand the scrollback RPC for the rest of the session.
Full detail, with the evidence for each diagnosis, in CHANGELOG.md.
Built by @nunocoracao.