Reference

Settings reference

Everything with an exact name: variables, paths, service names, URLs, routes, shortcuts.

Agent environment variables

Set these in ~/.termdeck/agent.env on macOS and Linux, and restart the agent. On Windows the equivalent file is %USERPROFILE%\.termdeck\agent.env.cmd using set NAME=value lines.

TERMDECK_AGENT_TOKENrequired

The machine token, starting with agt_. Written by the installer. Regenerate it from the machine card if it is ever exposed.

TERMDECK_MASTER_URLrequired

Where the agent dials. Written by the installer as https://termdeck.io.

TERMDECK_HOMEdefault ~/.termdeck

Moves the agent directory, token file, log, and policy file somewhere else. Set it before installing.

TERMDECK_CLAUDE_EXEpath

Use this exact Claude Code binary rather than looking it up on the path.

TERMDECK_CODEX_EXEpath

Same, for Codex.

TERMDECK_GROK_EXEpath

Same, for Grok.

TERMDECK_MAX_BUDGET_USDnumber, off by default

A hard per turn spend ceiling for this machine. The smaller of this and any per turn setting wins. Values are clamped to a sane range so a mistyped tiny number cannot kill every turn instantly.

TERMDECK_AGENT_PARK_TTL_MSdefault 180000

How long a running engine is kept alive with nobody attached before it is stopped. Raise it if you routinely disconnect for longer than three minutes mid run.

TERMDECK_AGENT_PARK_CAP_BYTESdefault 8388608

How much output is buffered for a parked run. Beyond this the run is stopped rather than replayed incompletely.

TERMDECK_NO_PROMPTinstaller only

Skips the installer's read the source prompt. Used by the repair script for unattended runs.

Engine environment variables

These belong to the coding CLIs. Termdeck follows them rather than defining them, so a machine with a relocated config directory works without extra configuration.

VariableEffect
CLAUDE_CONFIG_DIRWhere Claude Code keeps its configuration, projects, and file history. Defaults to ~/.claude.
CODEX_HOMEWhere Codex keeps its configuration and session rollouts. Defaults to ~/.codex.
GROK_HOMEWhere Grok keeps its configuration and credentials. Defaults to ~/.grok.

File locations

PathHolds
~/.termdeck/agent/The agent and its two dependencies.
~/.termdeck/agent.envToken and master URL, mode 600.
~/.termdeck/logs/agent.logThe agent's activity log.
~/.termdeck/logs/agent-crash.logWindows only. Crashes that happen before the agent's own handler runs.
~/.termdeck/persistence.jsonHow the agent was registered, so the dashboard can warn about fragile installs.
~/.termdeck/policies.jsonAuto allow rules and hard deny switches, mode 600.
~/.claude/projects/<slug>/<id>.jsonlClaude Code session transcripts.
~/.claude/file-history/<id>/Claude Code checkpoint snapshots, used by Restore files.
$CODEX_HOME/sessions/Codex session rollouts.
$CODEX_HOME/config.tomlCodex configuration, including MCP servers.
~/.claude.jsonClaude configuration, including MCP servers.
<project>/.mcp.jsonProject scoped MCP servers.
<project>/CLAUDE.md or AGENTS.mdThe project instruction file Termdeck can edit.

Service names

PlatformRegistered asManaged with
Linuxtermdeck-agent, a systemd user unitsystemctl --user status termdeck-agent
macOSio.termdeck.agent, a launch agentlaunchctl list | grep termdeck
WindowsTermdeckAgent, a scheduled taskGet-ScheduledTask -TaskName TermdeckAgent
FallbackA @reboot cron entrycrontab -l

URLs

URLPurpose
/install.sh, /install.ps1The installer. Needs TERMDECK_AGENT_TOKEN in the environment.
/uninstall.sh, /uninstall.ps1Stop the service and remove the agent.
/heal.sh, /heal.ps1Uninstall and reinstall, reusing the token on the machine.
/download/agent/manifest.jsonThe current agent file list.
/download/agent/<file>Any agent file, readable without an account.
/VERSIONA quick reachability check from a machine.

App routes

Every one of these is linkable and survives a reload.

RouteOpens
/dashboardThe app, on the fleet board.
#/newThe new chat page, remembering the machine, folder, and engine you picked.
#/<session id>One chat. An eight character prefix is enough.
#/approvalsThe approval inbox.
#/terminalsThe multi window session canvas.
#/usageUsage and cost. The date range rides in the URL.
#/archiveArchived chats.
#/settings/<section>A settings section directly, for example #/settings/approvals.
#/accountProfile and subscription.

Keyboard shortcuts

KeysAction
Ctrl BCollapse the sidebar, or open the drawer on a phone.
Ctrl Shift FOpen the project file explorer.
Ctrl FFind inside the file open in the dock.
Ctrl RSearch prompt history, with the composer focused.
Alt 1 to 9Jump to a pinned tab, or raise a window on the Terminals page.
EscClose the open menu, sheet, or dialog.

Slash commands

Typing / in the composer opens a palette. Every row carries the command's description and its arguments, read off disk, so your own commands and skills are described alongside the built ins below, including any this project defines.

CommandEffectEngines
/compactSummarise the conversation so far and continue with the shorter version.Claude, Grok
/clearClear the conversation.Claude, Grok
/contextReport context usage.Claude, Grok
/modelChange model from the composer.Claude, Grok
/session-infoSession details.Grok

Codex has none of its own. Its palette lists the skills installed for the chat, and picking one writes it into the composer as text for the model rather than running a command.

Two composer inputs are handled by Termdeck itself rather than sent to the engine, so they work on all three:

InputEffect
# followed by textAppends that line to the project instruction file. Never destructive, so it needs no confirmation.
Recap, from a chat's menuA factual summary of what the chat did, derived from its own transcript rather than generated.

Naming rules

  • Machine names are lowercase letters, digits, and dashes, up to 32 characters. The name appears in every route addressing that machine.
  • Display names are free text and only affect what you see.
  • Machine tokens start with agt_ and are stored hashed on the server.