UPTERM(1)
π NAME π
upterm-session-set β change a session's join timeout. This is from the Upterm Manual, and we're gonna make it make sense, bestie. β¨
πΈ SYNOPSIS πΈ
upterm session set NAME|ID [flags]
π¦ DESCRIPTION π¦
Okay so: change a session's join timeout, given its name or session ID. That's the assignment. π
NAME|ID is the session's name β the one upterm host printed, or the one --name gave it β or its session ID. upterm session list shows both, no cap.
--join-timeout D ends the session D from now unless a guest joins first. It replaces any join timeout already set, including one given to upterm host --join-timeout, so the way that each call restarts the window: running it again with the same duration extends the deadline. 0 disables it. Before the session is ready, the timeout counts from readiness. β³
A guest who joins, however briefly and whether by terminal or SFTP, claims the session: the automatic join timeout is disabled for the rest of its life, and a later set says so and changes nothing. After that, nothing ends the session but its command exiting or upterm session stop. Periodt.
upterm session wait NAME blocks until the session ends; interrupting it leaves the session running. upterm session stop NAME ends it.
Durations are shown compact and normalised: 90m shows as 1h30m. Cute.
Exit-status tea β: it exits 0 when the session took the change, was already claimed, is ending, or has already ended; 4 when no session has the name; and 1 for any other failure β including a change that could not be confirmed, which may still have taken effect: running set again restarts the window, and upterm session info NAME shows what the session holds. π«Ά
β¨ OPTIONS β¨
-h,--help[=false]β help forset--join-timeout=0sβ end the session this long from now unless a guest joins first (e.g.10m). Replaces any join timeout already set;0disables it.
π§ OPTIONS INHERITED FROM PARENT COMMANDS π§
--debug[=false]β enable debug logging (log file:/build/.upterm/upterm.log). A non-emptyDEBUGturns it on too.
π EXAMPLE π
Okay bestie, here's the example in all its exact-command glory β debug a failed build, open the session first, give people 10 minutes to join only if the build fails, and keep the build's exit status. Safe under set -e and in zsh, where $status is read-only:
# Debug a failed build: open the session first, give people 10 minutes to
# join only if the build fails, and keep the build's exit status. Safe under
# set -e and in zsh, where $status is read-only:
upterm host --detach --accept --name build -- bash
build_exit_code=0
make || build_exit_code=$?
if [ "$build_exit_code" -ne 0 ]; then
# Ten minutes for someone to join; once they have, it runs until they exit.
if upterm session set build --join-timeout 10m; then
upterm session wait build || true
fi
fi
upterm session stop build || true # ends it either way; never masks the build's result
exit "$build_exit_code"
# Give 20 more minutes from now, replacing the current window:
upterm session set build --join-timeout 20m
# Turn the join timeout off:
upterm session set build --join-timeout 0
# Give a session 10 minutes, given its session ID:
upterm session set d3k5fia7m4us73ehblug --join-timeout 10m
π SEE ALSO π
upterm-session(1)β the related manual page, go read it π«Ά
π HISTORY π
2-Nov-2026 β Auto generated by spf13/cobra. Iconic. π
π Footer cutie check for this UPTERM(1) page: Upterm 0.0.0+dev β Nov 2026. Byeeee, bestie. πβ¨
π¦ where this page comes from
- arch rolling: upterm 0.41.0-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms