v2.4.4: Big Pastes Land, Stop Stops Erasing Your Chat, and Every Sender Gets a Face
Every release has a theme, even when we do not plan one. This week it was reliability under pressure: the moments where you paste a wall of code, or hit Stop mid-task, or hand the chat to someone who is not you. Those are the moments where small bugs feel large, because they break trust right when you need the employee to behave. v2.4.4 fixes four of them.
Large pastes stopped disappearing
If you ever pasted a long block of code into the chat and watched your AI employee go quiet, this one is for you. Anything past roughly 100 lines would vanish silently. The employee received nothing, looked frozen, and you had no error to explain why.
The cause sat lower in the stack than most chat bugs do. The PTY we spawn for Claude and Codex bridge sessions defaulted to canonical mode, which caps each line at 4096 bytes in the kernel buffer. An NDJSON message carrying 150 lines of code sails right past that limit and gets truncated with no warning, leaving the bridge waiting on a newline that never arrives.
The fix: bridge sessions now spawn with stty raw -echo before running the wrapper script. Raw mode drops the per-line limit entirely, so a message of any size passes through intact. Paste the whole file. It will land.
Stop no longer wipes your conversation
Pressing Stop should pause the work, not erase the relationship. Until now, Stop during a Claude or Codex session killed the bridge process outright. We were sending a Ctrl+C character into the PTY, the kernel turned that into SIGINT, and the bridge plus its Claude subprocess went down with it. Your next message opened a fresh session with no memory of what came before.
Now Stop sends a {"type":"cancel"} NDJSON frame instead. The bridge handles the cancel gracefully, stays alive, and your conversation context survives. You can interrupt a runaway task and pick up exactly where you left off.
Cleaner Copy and Reply for guest messages
When someone who is not the workspace owner messages your employee, we tag the message internally so the employee knows who it is talking to. That tag was leaking. Copy a guest message or hit Reply and the raw speaker label came along for the ride. It is now stripped before both actions, so you get the actual message and nothing else.
A face for every sender
Multi-user chats were getting hard to read. When a non-owner sends a message, you now see a small colored circle with their initials next to the timestamp. Hover it and the full name appears as a tooltip. The color is derived deterministically from the name, so the same person always gets the same circle, which makes a busy thread far easier to scan. Owner messages are unchanged.
Nothing to update
Every change in v2.4.4 is server-side. There is no extension update to install and nothing for you to do. Reload your chat and the fixes are already live.
These are not headline features, and that is the point. The work that keeps an AI employee feeling like a dependable colleague is mostly this: the paste that lands, the Stop that does not punish you, the thread you can actually follow. We will keep chipping away at it.