Skip to main content
Reference Last updated: 20 April 2026

Commands & directives

This page documents Untether’s user-visible command surface: message directives, in-chat commands, and the CLI.

This page documents Untether’s user-visible command surface: message directives, in-chat commands, and the CLI.

Message directives

Untether parses the first non-empty line of a message for a directive prefix.

DirectiveExampleEffect
/<engine-id>/codex fix flaky testSelect an engine for this message.
/<project-alias>/happy-gadgets add escape-podSelect a project alias.
@branch@feat/happy-camera rewind to checkpointRun in a worktree for the branch.
Combined/happy-gadgets @feat/flower-pin observe unseenProject + branch.

Notes:

  • Directives are only parsed at the start of the first non-empty line.
  • Parsing stops at the first non-directive token.
  • If a reply contains a dir: line, Untether ignores new directives and uses the reply context.

See Context resolution for the full rules.

When a run has project context, Untether appends a footer line as part of the 🏷 info line:

  • With branch: dir: <project> @<branch>
  • Without branch: dir: <project>

This line is parsed from replies and takes precedence over new directives. For backwards compatibility, Untether also accepts the older ctx: format when parsing replies.

Telegram in-chat commands

CommandDescription
/cancelReply to the progress message to stop the current run.
/agentShow/set the default engine for the current scope.
/modelShow/set the model override for the current scope.
/reasoningShow/set the reasoning override for the current scope.
/triggerShow/set trigger mode (mentions-only vs all).
/file put <path>Upload a document into the repo/worktree (requires file transfer enabled).
/file get <path>Fetch a file or directory back into Telegram. Agents can also send files automatically via .untether-outbox/ — see file transfer.
/topic <project> @branchCreate/bind a topic (topics enabled).
/ctxShow context binding (chat or topic).
/ctx set <project> @branchUpdate context binding.
/ctx clearRemove context binding.
/planmodeToggle Claude Code plan mode (on/auto/off/show/clear). Claude Code only — non-Claude engines are directed to /config → Approval policy.
/usageShow Claude Code subscription usage (5h window, weekly, per-model). Claude Code only. Requires Claude Code OAuth credentials (see troubleshooting).
/exportExport last session transcript as Markdown or JSON.
/browseBrowse project files with inline keyboard navigation.
/pingHealth check — replies with uptime since last (re)start. Shows trigger summary if triggers target the current chat.
/healthSystem + triggers + cost snapshot — RAM/swap, Untether process (PID, RSS, FDs, children), trigger counts, today’s API cost, uptime. Compact 6-line HTML message; sections degrade gracefully when sources are unavailable. See operations.
/restartGracefully drain active runs and restart Untether.
/verboseToggle verbose progress mode (on/off/clear). Shows tool details in progress messages.
/configInteractive settings menu — plan mode, ask mode, verbose, engine, model, reasoning, trigger toggles with inline buttons.
/statsPer-engine session statistics — runs, actions, and duration for today, this week, and all time. Pass an engine name to filter (e.g. /stats claude).
/authHeadless device re-authentication for Codex — runs codex login --device-auth and sends the verification URL + device code. /auth status checks CLI availability. Codex-only.
/newCancel any running task and clear stored sessions for the current scope (topic/chat).
/continue [prompt]Resume the most recent session in the project directory. Picks up CLI-started sessions from Telegram. Optional prompt appended. Not supported for AMP.
/at <duration> <prompt>Schedule a one-shot delayed run. Duration: Ns (60-9999s), Nm, or Nh (up to 24h). The chat’s project mapping and engine are captured at schedule time and used at fire time (mirrors cron freeze-at-dispatch behaviour). Pending delays are cancelled via /cancel and lost on restart. Per-chat cap of 20 pending delays.

Notes:

  • Outside topics, /ctx binds the chat context.
  • In topics, /ctx binds the topic context.
  • /new cancels running tasks and clears sessions but does not clear a bound context.
  • /continue uses the engine’s native “continue” flag: --continue (Claude, OpenCode, Pi), resume --last (Codex), or --resume latest (Gemini).

CLI

Untether’s CLI is an auto-router by default; engine subcommands override the default engine.

Commands

CommandDescription
untetherStart Untether (runs onboarding if setup/config is missing and you’re in a TTY).
untether <engine>Run with a specific engine (e.g. untether codex).
untether configShow config file path and content.
untether init <alias>Register the current repo as a project.
untether chat-idCapture the current chat id.
untether chat-id --project <alias>Save the captured chat id to a project.
untether doctorValidate Telegram connectivity and related config.
untether pluginsList discovered plugins without loading them.
untether plugins --loadLoad each plugin to validate types and surface import errors.

Common flags

FlagDescription
--onboardForce the interactive setup wizard before starting.
--transport <id>Override the configured transport backend id.
--debugWrite debug logs to debug.log.
--final-notify/--no-final-notifySend the final response as a new message vs an edit.
Was this helpful?

Related Articles