Claude Chats Web banner
hengkysandy hengkysandy

Claude Chats Web

Design community

Description

Local web UI for Claude Code — run several named sessions side by side in the browser. Wraps the real claude CLI via a PTY. Loopback-only, token-gated.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

claude-chats-web

Lightweight **local** web UI to browse all your `~/claude-chats` sessions and run any of them in the browser. It does **not** reimplement Claude — it attaches the real `claude` CLI (via your existing `chat` shell function) to a pseudo-terminal and streams it to an xterm.js terminal in the browser. Behaviour is identical to the CLI: same rendering, same `--continue`, same workspace/template/archive logic.

Requirements (install these first)

  • macOS or Linux with zsh (macOS's default shell).
  • Node.js 18+ — macOS: brew install node.
  • The claude CLI, installed and signed in to your OWN account — see https://claude.com/claude-code. Verify with claude --version, then run claude once and log in. Auth is per-person; nothing about it is shared here.
  • Optional: ripgrep (brew install ripgrep) for faster chatfind.

Everything else — the `chat` / `chats` / `chatweb` commands and the new-session template — is bundled in [`shell/`](shell/), so there's no prior shell config to copy from anyone. (The server starts each session with `zsh -ic 'chat "$1"'`, reusing the bundled `chat` function — it all ships in this repo.)

Setup (new machine / coworker)

# 1. clone
git clone https://github.com/hengkysandy/claude-chats-web.git ~/claude-chats-web
cd ~/claude-chats-web

# 2. install: npm deps + adds the shell commands to your ~/.zshrc (idempotent)
./install.sh

# 3. reload your shell
source ~/.zshrc          # or just open a new terminal window

Then use it:

chatweb                  # open the web UI (prints a 127.0.0.1 URL with a token)
chat               # …or the plain terminal, identical to the CLI
chat                     # no name → arrow-key picker over every chat
chatdelete         # permanently delete a chat (it's more than a folder, see below)
chathelp                 # list every command

`chat` with no name opens a picker: ↑/↓ (or `j`/`k`) to move, `g`/`G` for first/last, Enter to