rekord
Search⌘K
1
// cli reference

CLI Reference

The complete command tree. Every command, its purpose, synopsis, and flags.

▋ common flags

Most session commands also accept --root and --config sessions directory (default ~/.rekord/sessions); config file path (default ~/.rekord/rekord.yaml).

// recording

rekord start

Record an interactive terminal session in the current shell.

$ rekord start --name <id> [--timer <dur>] [--stop-key <key>] [--shell <sh>] [--cwd <dir>]
flagdescription
--nameRecording name (required).
--timerAuto-stop after a duration (e.g. 40s, 5m).
--stop-keyHotkey to stop recording (e.g. ctrl-x); overrides config.
--shellShell to record (default: $SHELL).
--cwdWorking directory for the recorded shell.
rekord run

Record a single command without a long-lived session.

$ rekord run --name <id> -- <command> [args...]
flagdescription
--nameRecording name (required).
--cwdWorking directory for the recorded command.

// sessions

rekord list

List recorded sessions, newest first.

$ rekord list [--root <dir>]
flagdescription
--rootSessions directory to list.
rekord replay

Replay a recorded session in the terminal with original timing.

$ rekord replay <session> [--speed <x>]
flagdescription
--speedPlayback speed multiplier (default 1.0).
rekord commands

Show the commands extracted from a recorded session.

$ rekord commands <session> [--json]
flagdescription
--jsonEmit the extracted commands as JSON.

// exporting

rekord export

Export a recorded session to any supported format.

$ rekord export <session> [--to <fmt>] [-o <path>] [--redact]
flagdescription
--toFormat: cast · json · markdown · script · gif · mp4 (default cast).
-o, --outputWrite to a specific file path.
--sizemp4 size preset: 720p or 1080p (default 720p).
--redactRedact secrets in the export.
--no-redactDisable redaction even if enabled in config.

// handoff

rekord handoff

Generate an AI-ready context bundle from a session.

$ rekord handoff <session> [--include-git] [--include-tree] [--include-logs] [--copy]
flagdescription
--include-gitInclude git status and diff context.
--include-treeInclude a repository tree snapshot.
--include-logsInclude captured session logs.
--copyCopy the context to the clipboard.

// memory

rekord remember

Store a durable project memory for later agents or sessions.

$ rekord remember <text> [--agent <name>] [--session <id>]
flagdescription
--agentAgent name to associate with the memory.
--sessionNamed Rekord session to link this memory to.
rekord recall

Search project memory.

$ rekord recall [query] [--agent <name>]
flagdescription
--agentLimit results to memories from one agent.
rekord resume

Print continuation context from the latest relevant project memory and snapshot.

$ rekord resume [--agent <name>] [--from-agent <name>] [--to-agent <name>] [--session <id>]
flagdescription
--agentResume context for one agent.
--from-agentRead context created by another agent.
--to-agentFormat handoff context for the next agent.
--sessionResume from a named Rekord session.
rekord snapshot

Capture a git-aware stopping point with changed files and full patches.

$ rekord snapshot [note] [--agent <name>] [--session <id>]
flagdescription
--agentAgent name to associate with the snapshot.
--sessionNamed Rekord session to link this snapshot to.
rekord memory add

Add a project memory using the full memory command namespace.

$ rekord memory add <text>
rekord memory list

List project memories.

$ rekord memory list
rekord memory show

Show one project memory by id.

$ rekord memory show <id>
rekord memory resolve

Mark a memory or blocker resolved.

$ rekord memory resolve <id>

// security

rekord scan

Scan a session for possible secrets before you share it.

$ rekord scan <session> [--strict]
flagdescription
--strictExit non-zero if any secrets are found.

// tmux

rekord tmux status

Show whether the current shell is inside tmux.

$ rekord tmux status
rekord tmux capture

Capture a tmux pane's current contents as a session.

$ rekord tmux capture --pane <pane> --name <id>
flagdescription
--panetmux pane or session target (required).
--nameRecording name (required).
rekord tmux record

Stream a tmux pane into a recording via pipe-pane.

$ rekord tmux record --pane <pane> --name <id>
flagdescription
--panetmux pane or session target (required).
--nameRecording name (required).
rekord tmux start

Create a tmux session, record it, and attach.

$ rekord tmux start --session <name>
flagdescription
--sessiontmux session name (required).

// skills

rekord skills list

List available recording recipes, built-in and local.

$ rekord skills list [--skills-dir <dir>]
flagdescription
--skills-dirLocal skills directory (default .rekord/skills).
rekord skills run

Run a skill recipe and record it as a session.

$ rekord skills run <skill> [--name <id>] [--skills-dir <dir>]
flagdescription
--nameRecording name (defaults to the skill name).
--skills-dirLocal skills directory (default .rekord/skills).

// ai & automation

rekord mcp

Run a Model Context Protocol server over stdio so AI agents can drive terminals.

$ rekord mcp [--root <dir>] [--config <path>] [--no-redact]
flagdescription
--rootSessions directory (default ~/.rekord/sessions).
--configConfig file with redaction patterns.
--no-redactDisable redaction of captures and logs.
rekord session start

Launch a detached, named background session reachable over a unix socket.

$ rekord session start --name <id> [--cols <n>] [--rows <n>] [--cwd <dir>] -- <command> [args...]
flagdescription
--nameSession name (required).
--colsTerminal width in columns.
--rowsTerminal height in rows.
--cwdWorking directory for the program.
rekord session send

Send text and/or named keys to a running session.

$ rekord session send --name <id> [text] [--key <key>]...
flagdescription
--nameSession name (required).
--keyNamed key to send (e.g. enter, ctrl-c); repeatable.
rekord session show

Print the current screen frame of a session.

$ rekord session show --name <id> [--format text|json]
flagdescription
--nameSession name (required).
--formatOutput format: text or json (default text).
rekord session wait

Block until a session matches text, goes idle, or exits.

$ rekord session wait --name <id> [--text <s>] [--idle <dur>] [--exit] [--timeout <dur>]
flagdescription
--nameSession name (required).
--textWait until the screen contains this text.
--idleWait until output is quiet for a duration.
--exitWait until the process exits.
--timeoutGive up after a duration.
rekord session status

Show the state of one running session.

$ rekord session status --name <id>
flagdescription
--nameSession name (required).
rekord session list

List all running detached sessions.

$ rekord session list
rekord session stop

Terminate a session and finalize its recording.

$ rekord session stop --name <id>
flagdescription
--nameSession name (required).

// system

rekord config

View and edit the resolved rekord configuration.

$ rekord config [get <key> | set <key> <val> | view | path]
flagdescription
getPrint a config value (recording.stopKey, privacy.redact).
setSet a config value, creating rekord.yaml if needed.
viewPrint the merged configuration.
pathPrint the resolved config file path.
rekord doctor

Check for optional external tools (agg for gif, ffmpeg for mp4).

$ rekord doctor
rekord version

Print the Rekord version.

$ rekord version