claude-remote-cli 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # claude-remote-cli
2
2
 
3
- Remote web interface for interacting with Claude Code CLI sessions from any device.
3
+ Control Claude Code from your phone or any browser — manage multiple terminal sessions across repos and worktrees with a mobile-friendly web UI.
4
4
 
5
5
  ## Prerequisites
6
6
 
@@ -50,24 +50,28 @@ claude-remote-cli --bg
50
50
 
51
51
  This installs a persistent service (launchd on macOS, systemd on Linux) that restarts on crash. See [Background Service](#background-service) for more options.
52
52
 
53
- ### 5. Access from your phone with Tailscale
53
+ ### 5. Access from your phone
54
54
 
55
- claude-remote-cli binds to `0.0.0.0` by default, but you should **not** expose it to the public internet. Use [Tailscale](https://tailscale.com/) to create a private encrypted network between your devices.
55
+ claude-remote-cli binds to `0.0.0.0` by default, but you should **not** expose it to the public internet. Use [Tailscale](https://tailscale.com/) for a private encrypted connection between your devices — see [Remote Access](#remote-access) below.
56
56
 
57
- 1. **Install Tailscale** on your computer (the one running claude-remote-cli) and on your phone/tablet
57
+ ## Remote Access
58
+
59
+ The recommended way to access claude-remote-cli from another device (phone, tablet, laptop) is [Tailscale](https://tailscale.com/), which creates a private encrypted network using WireGuard.
60
+
61
+ 1. **Install Tailscale** on your computer and on your phone/tablet
58
62
  - macOS: `brew install tailscale` or download from [tailscale.com/download](https://tailscale.com/download)
59
63
  - Linux: follow the [install guide](https://tailscale.com/download/linux)
60
64
  - iOS/Android: install the Tailscale app from your app store
61
65
 
62
66
  2. **Sign in** to the same Tailscale account on both devices
63
67
 
64
- 3. **Find your computer's Tailscale IP** — run `tailscale ip` on your computer, or check the Tailscale admin console. It will look like `100.x.y.z`.
68
+ 3. **Find your computer's Tailscale IP** — run `tailscale ip` or check the admin console (looks like `100.x.y.z`)
65
69
 
66
70
  4. **Open the app** on your phone at `http://100.x.y.z:3456`
67
71
 
68
- That's it. Your traffic is encrypted end-to-end via WireGuard, no ports are exposed to the internet, and only devices on your Tailscale network can reach the server.
72
+ Your traffic is encrypted end-to-end, no ports are exposed to the internet, and only devices on your Tailscale network can reach the server.
69
73
 
70
- > **Alternatives:** You can also use [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) (`cloudflared tunnel --url http://localhost:3456`) or [ngrok](https://ngrok.com/) (`ngrok http 3456`), but these expose your server to the public internet and rely on the PIN as your only layer of defense. Tailscale keeps everything private.
74
+ > **Alternatives:** [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) or [ngrok](https://ngrok.com/) also work, but they expose your server to the public internet and rely on the PIN as your only defense.
71
75
 
72
76
  ## Platform Support
73
77
 
@@ -84,12 +88,17 @@ Commands:
84
88
  install Install as a background service (survives reboot)
85
89
  uninstall Stop and remove the background service
86
90
  status Show whether the service is running
91
+ worktree Manage git worktrees (wraps git worktree)
92
+ add [path] [-b branch] [--yolo] Create worktree and launch Claude
93
+ remove <path> Forward to git worktree remove
94
+ list Forward to git worktree list
87
95
 
88
96
  Options:
89
97
  --bg Shortcut: install and start as background service
90
98
  --port <port> Override server port (default: 3456)
91
99
  --host <host> Override bind address (default: 0.0.0.0)
92
100
  --config <path> Path to config.json (default: ~/.config/claude-remote-cli/config.json)
101
+ --yolo With 'worktree add': pass --dangerously-skip-permissions to Claude
93
102
  --version, -v Show version
94
103
  --help, -h Show this help
95
104
  ```
@@ -147,23 +156,30 @@ The PIN hash is stored in config under `pinHash`. To reset:
147
156
 
148
157
  ## Features
149
158
 
150
- - **PIN-protected access** with rate limiting
159
+ ### Session Management
151
160
  - **Repo sessions** — click any idle repo to instantly open Claude with `--continue` (no dialog), or start fresh from the new-session dialog
152
161
  - **Branch-aware worktrees** — create worktrees from new or existing branches with a type-to-search branch picker
153
- - **Tabbed sidebar** — switch between Repos, Worktrees, and PRs views with shared filters and item counts
154
162
  - **Worktree isolation** — each worktree session runs in its own git worktree under `.worktrees/`
155
163
  - **Resume sessions** — click inactive worktrees to reconnect with `--continue`
156
164
  - **Persistent session names** — display names, branch names, and timestamps survive server restarts
157
- - **Clipboard image paste** — paste screenshots directly into remote terminal sessions (macOS clipboard + xclip on Linux)
158
- - **Pull requests tab** — view your open PRs (authored and review-requested) per repo via `gh` CLI, with Author/Reviewer filter and one-click session creation from any PR branch
165
+ - **Scrollback buffer** — reconnect to a session and see prior output
159
166
  - **Yolo mode** — skip permission prompts with `--dangerously-skip-permissions` (per-session pill button)
160
167
  - **Worktree cleanup** — delete inactive worktrees via the trash pill button (removes worktree, prunes refs, deletes branch)
168
+
169
+ ### Pull Requests
170
+ - **Pull requests tab** — view your open PRs (authored and review-requested) via `gh` CLI, organized in collapsible per-repo groups with count badges, Author/Reviewer filter, and one-click session creation from any PR branch
171
+
172
+ ### UI
173
+ - **Tabbed sidebar** — switch between Repos, Worktrees, and PRs views with shared filters and item counts
161
174
  - **Sidebar filters** — filter by root directory, repo, or text search
162
175
  - **Inline actions** — pill buttons on session cards for rename, YOLO, worktree creation, and delete (hover on desktop, long-press on mobile)
163
176
  - **Resizable sidebar** — drag the sidebar edge to resize; collapse/expand with a button (persisted to localStorage)
164
- - **Scrollback buffer** — reconnect to a session and see prior output
165
- - **Touch toolbar** — mobile-friendly buttons for special keys (hidden on desktop)
166
177
  - **Responsive layout** — works on desktop and mobile with slide-out sidebar
178
+ - **Touch toolbar** — mobile-friendly buttons for special keys (hidden on desktop)
179
+ - **Clipboard image paste** — paste screenshots directly into remote terminal sessions (macOS clipboard + xclip on Linux)
180
+
181
+ ### Operations
182
+ - **PIN-protected access** with rate limiting
167
183
  - **Real-time updates** — worktree changes on disk are pushed to the browser instantly via WebSocket
168
184
  - **Update notifications** — toast notification when a new version is available, with one-click update
169
185
  - **CLI self-update** — `claude-remote-cli update` to update from npm
@@ -192,7 +208,9 @@ claude-remote-cli/
192
208
  │ ├── lib/state/ # Reactive state modules (.svelte.ts)
193
209
  │ ├── lib/api.ts # REST API client
194
210
  │ ├── lib/ws.ts # WebSocket connection management
195
- └── lib/types.ts # Frontend TypeScript interfaces
211
+ ├── lib/types.ts # Frontend TypeScript interfaces
212
+ │ ├── lib/utils.ts # Shared utilities (path display, time formatting, device detection)
213
+ │ └── lib/actions.ts # Svelte actions (scroll-on-hover, longpress-click)
196
214
  ├── test/ # Unit tests (node:test)
197
215
  ├── dist/ # Compiled output (gitignored)
198
216
  ├── config.example.json