Show HN: Clsh – Real terminal on your phone (works with Claude Code)
3 points
1 hour ago
| 0 comments
| github.com
| HN
Hi HN,

I use Claude Code a lot, and I kept running into the same problem: I'd kick off a long refactor or a multi-file task, then need to leave my desk. Walk the dog, grab coffee, whatever. And I'd just have to hope it was doing the right thing.

I tried SSH apps on my phone. The iOS keyboard is painful for terminal work. No ctrl, no arrows, no escape without hunting through menus. Typing `git diff` feels like a chore. I looked at Blink Shell, Termux, ttyd, Wetty. They all assume you're fine with the platform keyboard, or they're full remote dev environments when I just wanted my own shell.

So I built clsh. It runs on your Mac and gives you your actual terminal in the browser. Real PTY, not a simulation. Your shell, your aliases, your env. The key thing I focused on was the phone keyboard: instead of the iOS keyboard, the bottom half of your screen is a 6-row developer keyboard with ctrl, arrows, escape, all of it. There's also a MacBook layout option if you prefer that.

It uses node-pty for real terminal sessions, xterm.js for rendering, WebSocket for I/O, and tunnels via ngrok or SSH (localhost.run) so you can reach it from anywhere. Sessions persist through tmux, so you can close your laptop and pick up on your phone.

The part I use most: monitoring Claude Code sessions. It's a real PTY, so the TUI renders correctly. I can scroll through diffs, hit ctrl+c if something goes sideways, approve commits. Same thing works with Aider or any other terminal tool.

Other stuff it does: - Session grid with live previews (tap to zoom in) - 6 keyboard skins if you care about that sort of thing - `npx clsh-dev` to start, no accounts or config

It's about 55 source files, MIT licensed, no cloud dependency. TypeScript monorepo (React, Express, xterm.js, node-pty).

Would appreciate feedback, especially on the phone keyboard UX. That's the part I'm least sure about.

https://clsh.dev has a demo you can try on your phone (no backend needed, it's a replay).

GitHub: https://github.com/my-claude-utils/clsh

No one has commented on this post.