Navigation
Copy page

Slash Commands

On this page

A line typed at the kli prompt that begins with / is a slash command. The first word names the command; the rest is its argument tail. This page lists every command kli registers, grouped by area.

Commands come from extensions, so the set is not fixed: a profile that omits an extension omits its commands, and a loaded extension can add its own. Two families are registered dynamically from files on disk — prompt templates and skills (see Prompt and skill commands). Run /commands to see what is registered in the current session, and /help <command> for one command's details.

Most commands report their result as a system line in the transcript. Commands marked below as menu-backed open a selection menu in the terminal UI when run with no argument; run with an argument, or run outside the terminal UI, they act directly and print text.

Basic

Command Effect
/commands List every registered command.
/help [command] Show the command list, or details for one command.
/clear Clear the terminal display. The conversation is unchanged.
/reset Start a new conversation in the current session, clearing history.
/redraw Repaint the terminal display.
/quit Stop kli and exit.

/clear and /redraw act only on the display; the model never sees them.

Session

A session is the durable record of a conversation: its history, name, model selection, and stored file. These commands inspect and manipulate it. See Sessions for the model.

Command Effect
/name [text] Set the session display name to text, or show the current name.
/session Show the active session: id, file, model, and token count.
/resume [selector] List stored sessions; with a selector, resume the matching one. Menu-backed.
/resume delete <selector> Delete the matching stored session. The active session cannot be deleted.
/compact [instructions] Summarize the history into a shorter context, optionally focused by instructions.
/rewind [n] Step the conversation back n user turns (default 1), branching the session. Menu-backed.
/branches Show the tree of sessions created by rewind-branching, and switch between them. Menu-backed.

A bare /resume selector matches against a session id, name, or message preview; an unambiguous match resumes, several matches re-list. /compact and /rewind are refused while a turn is running.

Context

The agent context is the projected message list sent to the model. These commands stage edits to it, then commit or discard them as a set. See Context lens.

Command Effect
/context inspect Show the context epoch, projected message count, and staged patches.
/context stage append <text> Stage a patch appending a user message with text.
/context stage remove <index> Stage a patch removing the message at index.
/context stage replace <index> <text> Stage a patch replacing the message at index with text.
/context diff Show staged patches without applying them.
/context commit Apply all staged patches to the context, advancing the epoch.
/context revert Discard all staged patches.

Each subcommand is a separate registered command resolved from the /context <subcommand> prefix. Staging never changes the context; only /context commit does.

Model and providers

These commands choose the model, set reasoning effort, and manage provider credentials. See Connect a provider.

Command Effect
/model [provider/model [level]] Select the current model, optionally with a reasoning-effort level; bare, show and list. Menu-backed.
/models [search] List auth-available models, optionally filtered by search; option-capable models show compact options ... markers.
/providers List model providers with their auth status and model counts.
/thinking [level] Set the reasoning-effort option for the selected model, or show the current level. Menu-backed.
/auth Show registered providers and credential references.

A model reference is provider/model, for example anthropic/claude-sonnet-4-5. The /thinking level is one of off, minimal, low, medium, high, xhigh, accepted only for a model that declares reasoning-effort. kli ships the providers anthropic, openai, openai-codex, and compatible (user-defined OpenAI-compatible endpoints).

/auth takes a subcommand to register or remove credentials:

Command Effect
/auth env <provider> <ENV_VAR> Read the provider's credential from environment variable ENV_VAR.
/auth key <provider> <KEY> Store KEY as the provider's static API key.
/auth login <provider> Start an OAuth login and print the authorization URL.
/auth code <pasted code or redirect URL> Complete the pending OAuth login.
/auth logout <provider> Forget the provider's stored credential.

/auth is hidden from the model, since its tail can carry a raw API key.

Configuration

Command Effect
/settings Show config directories, the global and project settings files, registered resource kinds, and the merged settings.

kli merges settings from ~/.config/kli/settings.json and <repo>/.kli/settings.json, project over global. See Settings.

Profiles

A profile is a named set of extensions and settings. See Profiles.

Command Effect
/profile [name] List profiles, or live-switch to profile name.

A live switch installs the extensions the target profile wants and retracts the ones it does not. A profile whose builtin base differs from the running one cannot be switched live; kli reports the --profile flag to restart with instead.

Extensions

These commands control user extensions discovered from ~/.config/kli/extensions/ and <repo>/.kli/extensions/, plus any passed with --extension. See Extensions.

Command Effect
/extensions List discovered user extensions and whether each is enabled.
/enable <extension> Install (enable) a discovered extension by id.
/disable <extension> Retract (disable) an installed extension by id.
/reload Retract, re-discover, and re-install user extensions, picking up edits on disk.
/uninstall <extension> Remove a runtime-installed extension and its pin. Nix-declared extensions cannot be uninstalled this way.

App

Command Effect
/install <url> <git-tree-sha1> Install a remote extension from url, pinned to the git tree object git-tree-sha1.

/install here is the in-session command to add a remote extension. It is distinct from installing the kli application itself, which is curl -fsSL https://kli.kleisli.io | sh and has nothing to do with this command. The in-session /install runs a two-step consent flow in the terminal UI: it shows a trust card for the URL and pin, verifies the artifact against the pinned git tree sha1 without loading it, then installs on a second confirmation. The pin makes the install reproducible: the same git-tree-sha1 always resolves the same code. /install requires the terminal UI.

Diagnostics

Command Effect
/bash <command> Run command in a shell and show its output.
/eval <form> Evaluate a Common Lisp form in the running image and show the result.
/observability Report the observability sink: whether it is enabled, its file path, event filter, and event count.

/bash and /eval run the same tools the agent uses, invoked by hand. The observability sink is configured under the observability section of settings.json; /observability reports its live state.

Prompt and skill commands

Two command families are registered from files at startup, so their names depend on what is on disk.

Command Effect
/<template> Expand the prompt template named <template> and submit it as your next message.
/skill:<name> Expand the skill named <name> and submit it as your next message.

Prompt templates are *.md files in the prompts/ resource directories; each file name.md registers as /name, and the argument tail substitutes into the template body. Skills are discovered from the skills/ resource directories and register as /skill:<name>. Both are hidden from the model as commands, because the expansion itself enters the conversation as your message. Run /commands to see the ones currently registered.