claude-remote-cli 2.5.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
|
-
|
|
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
|
|
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/)
|
|
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
|
-
|
|
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`
|
|
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
|
-
|
|
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:**
|
|
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
|
-
|
|
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
|
-
- **
|
|
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
|
-
│
|
|
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
|