2026-10-06 23:11:07 -04:00
|
|
|
.TH DEVDESK 1 "October 2026" "devdesk" "User Commands"
|
|
|
|
|
.SH NAME
|
|
|
|
|
devdesk \- persistent Claude Code sessions in tmux, shared by the browser and SSH
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B devdesk attach
|
|
|
|
|
.RI [ NAME ]
|
|
|
|
|
.br
|
|
|
|
|
.B devdesk new
|
|
|
|
|
.I NAME
|
2026-10-07 03:03:09 -04:00
|
|
|
.RI [ PROJECT ]
|
|
|
|
|
.br
|
|
|
|
|
.B devdesk rename
|
|
|
|
|
.I OLD NEW
|
2026-10-06 23:11:07 -04:00
|
|
|
.br
|
|
|
|
|
.B devdesk ls
|
|
|
|
|
.br
|
|
|
|
|
.B devdesk pick
|
|
|
|
|
.br
|
|
|
|
|
.B devdesk end
|
|
|
|
|
.I NAME
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
.B devdesk
|
|
|
|
|
manages the named sessions served at https://dev.lotusguild.org. Each session is
|
|
|
|
|
a tmux session on the DevDesk server (\fI/run/devdesk/tmux.sock\fR, run by
|
|
|
|
|
\fBdevdesk-tmux.service\fR) with a \fIclaude\fR window and a \fIshell\fR window,
|
|
|
|
|
rooted in a project directory under \fBDEVDESK_PROJECTS_ROOT\fR.
|
|
|
|
|
.PP
|
|
|
|
|
Claude's conversation ID is recorded per session, so after a reboot the session
|
|
|
|
|
resumes its own conversation.
|
|
|
|
|
.SH COMMANDS
|
|
|
|
|
.TP
|
|
|
|
|
.B attach \fR[\fINAME\fR]
|
2026-10-07 03:03:09 -04:00
|
|
|
Attach to session \fINAME\fR, creating it if needed. Names matching a project
|
|
|
|
|
folder (or its slug: \(lqtest code\(rq becomes \fBtest-code\fR) start there; any
|
|
|
|
|
other name starts in \fBDEVDESK_DEFAULT_DIR\fR. Without \fINAME\fR, opens the picker.
|
2026-10-06 23:11:07 -04:00
|
|
|
.TP
|
|
|
|
|
.B attach --list
|
|
|
|
|
Print sessions and projects as JSON (used by the web UI).
|
|
|
|
|
.TP
|
2026-10-07 03:03:09 -04:00
|
|
|
.B new \fINAME\fR [\fIPROJECT\fR]
|
|
|
|
|
Create session \fINAME\fR detached, in \fIPROJECT\fR's folder if given, otherwise
|
|
|
|
|
in the folder its name maps to (a project of that name, or \fBDEVDESK_DEFAULT_DIR\fR).
|
|
|
|
|
.TP
|
|
|
|
|
.B rename \fIOLD NEW\fR
|
|
|
|
|
Rename a running or dormant session; Claude keeps running and its recorded
|
|
|
|
|
conversation moves with it.
|
2026-10-06 23:11:07 -04:00
|
|
|
.TP
|
|
|
|
|
.B ls
|
|
|
|
|
List running (\(bu) and dormant (\(ci) sessions.
|
|
|
|
|
.TP
|
|
|
|
|
.B pick
|
|
|
|
|
Interactive picker (fzf).
|
|
|
|
|
.TP
|
|
|
|
|
.B end \fINAME\fR
|
|
|
|
|
Stop the session and forget its recorded conversation.
|
|
|
|
|
.SH FILES
|
|
|
|
|
.TP
|
|
|
|
|
.I /etc/devdesk/env
|
|
|
|
|
Port, projects root, Claude binary and arguments, Remote Control switch.
|
|
|
|
|
.TP
|
|
|
|
|
.I /etc/devdesk/secret.env
|
|
|
|
|
ttyd credential; the reverse proxy must send it as HTTP basic auth.
|
|
|
|
|
.TP
|
|
|
|
|
.I /var/lib/devdesk/registry.json
|
|
|
|
|
Session to directory and Claude session ID mapping.
|
|
|
|
|
.SH SEE ALSO
|
|
|
|
|
.BR tmux (1),
|
|
|
|
|
.BR claude (1)
|