You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
maiLink — see what your agent is actually doing, not just what it said. The phone gains three live views into a session that previously stopped at the chat transcript:
The task board. Claude Code's task list — the strip above the prompt — now mirrors to the phone and updates as tasks are checked off, so you can watch progress on a long job without reading every message. SSH sessions mirror their remote board too. (A board that fully completes deletes itself, which reads on the phone as the work being done.)
Background shells. A roster of what the session is running in the background, with a Stop button per shell. Liveness is confirmed against the operating system rather than trusted from the transcript — nothing is written when a background process exits, so a transcript-only view would have offered Stop buttons for processes that died long ago.
Agent-to-agent messages. Traffic between bridged and meshed agents now renders as its own kind of turn — who it came from, which topic, and the peer's actual words — instead of being dropped from the transcript or buried as an unreadable tool call.
Start a new conversation from the phone. A tab can now spawn a sibling session next to it in one tap: same host, same directory, fresh agent, no shared history. Useful when the current thread has drifted and you want a clean start without walking back to your desk.
Messages you send while the agent is busy no longer vanish. A message typed mid-turn is queued by Claude Code, which writes no transcript entry for it — so it was invisible in maiLink, and the phone's delivery indicator never settled. Queued messages now appear in the thread, the phone can see what's still waiting, and a message that hasn't been picked up yet can be cancelled.
Fix sending to a tab whose agent had exited typing into the shell. The message was injected at a bare bash prompt, which then ran it as a command. maiTerm now wakes the target first — choosing between initializing a live agent and resuming a dead one based on whether the agent process is actually alive — and a refusal is reported plainly instead of becoming a shell command. Per-tab Initialize now exists for any tab, not just meshed ones.
Fix consecutive phone messages merging into one. Sending a message, tapping Stop, then sending another produced a single run-on turn. Cancelling a turn makes Claude Code restore the cancelled prompt into the input, and the next message landed on top of it — the composer is now cleared once the restore is observed to have happened, and only when the interrupt genuinely stopped a running turn, so a draft you're typing at the desktop is never wiped.
Opus 5 sessions show their true 1M context. The model name in the transcript carries no 1M marker, so a 1M session was measured against a 200k limit — a full context gauge and no warning before a surprise compaction. Recognized explicitly now, with a backstop that promotes any session already past 200k.
Mattermost: agents can start a thread, not just answer one. An agent can now open a new thread in a channel it monitors — an incident it found, a heads-up, a question it needs a human to answer — and replies come back to it without anyone having to @mention a bot they didn't summon. Support-tier authority is clarified to read-vs-change: investigating, explaining, reproducing and answering are free, while anything that changes code, data, config or scope needs an authorized user's go-ahead.
Mattermost: an agent acknowledges a thread before working it. Picking up a report and going quiet for ten minutes left the humans who handed it over unsure anyone had taken it. An agent now replies immediately with what it understands the ask to be, so a misread surfaces at the start instead of after the wrong fix.
Mattermost: a screenshot posted with no caption is no longer lost. An attachment-only reply has an empty message body, which the thread watcher skipped as noise — and the cursor moved past it, so the images were gone for good.