Skip to content

Claude Session Manager v1.0.0

Choose a tag to compare

@weaKnight weaKnight released this 11 Apr 08:57
· 13 commits to master since this release

First public release of Claude Session Manager — a self-hosted web tool for browsing, searching, and auditing Claude Code conversation history.

Highlights

  • Premium web UI — generous spacing, gradient brand, JetBrains Mono code, dark mode
  • 4 chat view modes — Full, Dialog, Compact, Changes (file diffs only)
  • Full-text search — MiniSearch in-memory index across every conversation
  • Command audit panel — chronological timeline of every Bash/Edit/Write/Read tool call with per-tool filtering
  • Executive dashboard — KPI cards (projects, sessions, messages) + top-projects breakdown
  • Live updates — SSE-powered real-time refresh via chokidar
  • Auth — JWT + bcrypt (12 rounds), 5-failure lockout
  • Soft-delete + trash — `~/.claude` is never modified; deletes go to a separate trash directory
  • Bilingual — English / 中文 one-click toggle

Pre-built Binaries (no Node required)

Bun-compiled standalone executables. Download → extract → run:

Platform File Size
Linux x64 `csm-linux-x64.tar.gz` 38 MB
Linux arm64 `csm-linux-arm64.tar.gz` 38 MB
macOS Intel `csm-darwin-x64.tar.gz` 24 MB
macOS Apple Silicon `csm-darwin-arm64.tar.gz` 22 MB
Windows x64 `csm-windows-x64.zip` 40 MB

```bash
tar -xzf csm-linux-x64.tar.gz
cd csm-linux-x64
./csm # default port 3727
./csm --port 8080 --read-only true # custom flags
```

Then open `http://your-server:3727\` and set your password on first visit.

Each archive contains the `csm` binary, a `dist/client/` SPA folder, and a short `README.txt`. Verify downloads against `SHA256SUMS`.

Other deployment options

  • Docker: `docker compose up -d` (mounts `~/.claude` read-only by default)
  • PM2: `pm2 start ecosystem.config.cjs && pm2 save && pm2 startup`
  • systemd: see `scripts/csm.service`
  • From source: `npm install && npm run build && npm start`

See the README for full docs.

Security notes

  • `/.claude` is read-only at the application layer — only the trash directory under `/.claude-session-manager/` is ever written to
  • All project/session IDs go through strict whitelist validation (no path traversal)
  • Markdown rendered via DOMPurify, helmet security headers on every response
  • Set `CSM_SECRET` to a long random string in production