Short week, but we packed a lot in. Here's what's new.
LLM Command Filter with Clippy-Style Help
New users sometimes type commands meant for a regular terminal into their Claude chat — things like ls, cd, or sudo apt install. Instead of letting those commands confuse Claude or produce unhelpful results, we now intercept them with a friendly "Clippy-style" help popup that explains what to do instead.
The filter uses a fast LLM call to determine whether a message looks like a raw shell command vs. a legitimate prompt for Claude. If it's a shell command, you get a helpful tip rather than a wasted Claude response.
Plan Mode Buttons
When Claude Code creates an implementation plan, it presents you with numbered choices (proceed with auto-approval, proceed with manual approval, give feedback, etc.). Previously you had to type the number. Now the chat interface automatically detects when Claude shows its plan prompt and replaces the text input with four big, clickable buttons. Just tap your choice.
Interactive Menu Detection
Similarly, when Claude Code shows any interactive menu (like selecting a model or confirming an action), the chat interface now detects it and presents the options as clickable buttons instead of requiring you to type arrow keys and Enter. This makes the mobile experience dramatically better.
Infrastructure Reliability
Several behind-the-scenes fixes this week:
- Output monitor locking — Replaced PID file locking with
flock()so the output monitor service can never get stuck by a stale lock file again - Tmux session naming — Standardized all tmux session naming to
claude{id}across the entire codebase, fixing a bug where restarting one chat on a multi-chat server could connect to a different chat - WebSocket port fix — Fixed a mismatch where nginx was proxying to the wrong port for the WebSocket server
- Max output tokens — Set
CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000for all Claude startups so you get longer, more complete responses - Long command fix — Fixed an issue where sending very long commands via the chat interface could fail with password-authenticated servers
UI Polish
- Suspended browser tabs now show the pending command in the tab title
- Arrow keys and Enter in Claude's output are now rendered as clickable elements
- File upload now shows an animated gif during processing
- Chat names now default to the server name and only get stored if you explicitly rename them
Cleanup
We removed 12 one-off test and debug scripts that had accumulated in the codebase, and deleted a duplicate systemd service that was causing conflicts with the output monitor.
That's all for now. As always, if you run into any issues, let us know via support.