Skip to main content

Commands

PreviewAvailable on: WindowsShips in the preview channel only. Not a stable release.

Slash commands you type, how they differ from skills and hooks, and when to add your own.

A command runs because you typed it. That is the whole distinction, and it is why commands are the safest of the three extension mechanisms.

MechanismRuns whenWho decides
CommandYou type itYou, every time
SkillAn agent invokes itThe agent, within permissions
HookAn event firesNobody, after install

When you can express something as a command, prefer it. You keep the decision.

Built-in commands

49 commands ship with the TUI, grouped by purpose — session, route, work, fleet and A2A, code, context, extensibility, voice, presence, and meta.

The complete generated list, with descriptions taken straight from the registry, is at TUI slash commands. It is generated from source, so it cannot drift from what the build actually registers.

/help

Shows the same grouping in the app, and /help <command> gives detail for one.

Anatomy

Each registered command carries:

FieldPurpose
nameWhat you type after /
summaryOne line, shown in the list
descriptionFull explanation, shown in help
categoryGrouping
argsNamed arguments with types and suggestions
availableInWhich surfaces expose it
keybindingOptional shortcut

Arguments get autocomplete, including dynamic suggestions where the set is known at runtime — agent names, task ids, model names.

Aliases

Some commands accept aliases. /orchestrate also answers to /orch and /plan-goal. Aliases are declared in the command's own description rather than maintained separately, which is why the generated reference shows them.

Adding your own

Before writing a command, check whether a prompt would do. A reusable instruction is not a command; it is text you can send.

Write a command when you need:

  • Arguments with validation or suggestions.
  • Something reachable without leaving the keyboard.
  • A deterministic action rather than a model turn.

IMPORTANT

A command that only wraps a prompt adds a name to remember without adding capability. Prefer a prompt until the argument handling is real.

Scope and precedence

Commands can be defined at project or user scope. Project scope is trust-gated — see customization overview.

Where both define the same name, the more specific scope wins, and the resolution is visible rather than silent.

SECURITY

A project-defined command is content from whoever wrote the repository. Read what it does before trusting it, especially in a repo you did not write.

Commands versus the palette

The command palette (Ctrl K in the desktop) surfaces workspace and pane actions — splitting, layouts, workspace management. Slash commands act on the session and the work.

Overlapping vocabulary, different targets:

You wantUse
Split a pane, apply a layoutCommand palette
Change mode, delegate, write an artifactSlash command

Errors

Commands fail with structured errors, not prose. A malformed invocation returns a validation error with a remediation line; transport failures are a separate family carrying a retryable flag.

Retry transport failures. Never retry validation failures — a malformed command will be malformed the second time. See exit codes.