Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dedaluslabs.ai/llms.txt

Use this file to discover all available pages before exploring further.

A terminal is a opened inside the machine, with stdin/stdout streamed to your client over a WebSocket. The machine wakes if it was sleeping.
dedalus machines:terminals create \
  --machine-id <machine_id> \
  --width 80 \
  --height 24 \
  --shell /bin/bash \
  --cwd /root \
  --env FOO=bar
machine_id
string
required
The machine where the terminal opens.
width
integer
required
Initial terminal width in columns.
height
integer
required
Initial terminal height in rows.
shell
string
default:"/bin/bash"
Shell to start inside the PTY.
cwd
string
default:"/root"
Working directory for the shell.
env
object
Extra environment variables for the shell.

Wire protocol

DirectionFramePayload
Client → serverBinaryRaw bytes written to the shell’s stdin (keystrokes, paste, etc.)
Client → serverText (JSON){"cols": 100, "rows": 30} to resize the PTY
Server → clientBinaryRaw bytes from the shell’s stdout/stderr (ANSI escapes intact)
Server → clientCloseShell exited or session expired

Manage terminals

dedalus machines:terminals list --machine-id <machine_id>
dedalus machines:terminals retrieve --machine-id <machine_id> --terminal-id <terminal_id>
dedalus machines:terminals delete --machine-id <machine_id> --terminal-id <terminal_id>
machine_id
string
required
The machine that owns the terminal.
terminal_id
string
required
The terminal to retrieve or close.
Last modified on May 2, 2026