Slash Commands
A prompt beginning / is a command to heph rather than a message.
/job-kill ID requests cancellation of a background job without matching tool
lock rules. It remains available while a turn or publication waits. The request
is not a claim that cleanup has already finished.
| Command | Does |
|---|---|
/back [N] [--keep-code] | Move the conversation back N turns (1 by default) and its worktree with it; --keep-code leaves the files for /review |
/base [<branch>] | Show the base, publication branch, and pending rebase; <branch> overrides upstream until /commit publishes it (Branches) |
/branch [<name>] | Show the branch the conversation publishes to; with <name>, publish there, adopting it if it exists (Branches) |
/clear [<prompt>] | Clear, then send <prompt> if given; a refused clear sends nothing. Start the model fresh: nothing before the next turn is sent, live token/cache counters restart; persisted spend remains (Session) |
/code [--clear] [<prompt>] | Leave plan or design mode; turns run as the class the session was started with. --clear starts the model fresh first; <prompt> is sent as the next turn |
/code [--clear] --implement [<path>...] [<words>] | Leave the mode and build the committed design: the paths given, or the designs this conversation wrote since the last handoff, their text in the first prompt (Design Turns) |
/commit [--skip-gates] [--] [<message>] | Commit the accepted work to the conversation's own branch, creating it the first time (Committing); with <message>, no draft and no editor; --skip-gates bypasses final gates for this invocation only, not review or Git hooks; -- begins a literal message |
/cost | Session/thread/today category costs and seven local calendar days of cross-project usage, with totals, ranked models, cache rates, and estimates; scroll with Up/Down/PgUp/PgDn or wheel, Esc closes (Costs) |
/design [<set>] | Enter design mode: plan turns that may write only under [design] paths, reviewed like any change (Design Turns); sticky until /code |
/design [--tools <set>] <prompt> | Enter design mode and send <prompt> as its first turn |
/diff [--stat] | What /commit would publish now, with the turns it spans (Forking and Switching) |
/diff <turn> [<path>...] | One turn's accepted change; a turn is #12, an id, or six or more characters of one |
/diff <design> | The turns --implement started to build a design document, and what they accepted |
/fork <prompt> | Branch here, generate a short name through the title role, and start the prompt |
/forward [N] [--keep-code] | Undo a /back, N turns or all the way |
/help | Show the key bindings (same as ?) |
/init [--file AGENTS.md|HEPH.md|CLAUDE.md] | Create or refine reviewed root instructions using the coding model; idle only (Project Instructions) |
/init --offer | Clear repository-local offer suppression without starting a turn |
/init --help | Print the local bootstrap contract |
/instructions | List frozen and next instruction sources and diagnostics, not contents |
/new <prompt> | Start a root without inherited history; name locally on submission and improve the title asynchronously |
/plan [<set>] | Enter plan mode: read-only turns, sticky until /code (Plan Turns); with <set>, that tool set |
/plan [--tools <set>] <prompt> | Enter plan mode and send <prompt> as its first turn; a single word after /plan is taken as a set name |
/prompts | Toggle a user-prompts-only history (same as Ctrl-P); display-only, with permission and review dialogs still available |
/quit, /exit | Skip the Ctrl-D confirmation, then flush acknowledged drafts |
/refs | List live conversations, each with its tip and its branch, or (base <branch>) before its first commit |
/rename [name] | Rename only the active session; without a name, ask the fast title model for a 1-4 word slug from recent user intent |
/restore <turn> [<path>...] | Put that turn's files back in the worktree for /review, without moving the conversation |
/review [--skip-gates] | Review what the worktree holds beyond the accepted state, now (Review): no gates, no model round; --skip-gates is an explicit alias, not a sticky setting |
/sequence [cancel] | Inspect the current publication unit's phase and remaining work; cancel stops sequencing while keeping accepted changes. Waits for turns, review, and publication (Committing) |
/sidebar [on|off|auto] | Show or hide the skills and cost sidebar for the session; bare /sidebar toggles it, auto returns to [ui] sidebar |
/skill <name> | Activate a discovered skill with the next prompt; it remains in this conversation's context. Tab completes the name |
/skills | List skills by project and user, active and disabled ones, discovery errors, and what is armed or queued (Skills) |
/skills --reload | Reread [skills] and the skill directories and say what changed (Skills) |
/stats | Full session UUID, session/thread/daily token and cost breakdowns, today's provider/model totals, and estimated tool request/result-lifetime shares; scroll with Up/Down/PgUp/PgDn or the wheel, Esc closes |
/summary [--refresh] | Read the cached work summary; regenerate asynchronously with --refresh |
/switch <ref> | Open an existing conversation by exact name or full UUID while idle |
/tiers | A window with the conversation's tier and model, its profile's tiers (overrides marked), and the other profiles; any key but Up/Down closes it (Tiers and Profiles) |
/summary [--refresh] shows the persisted work summary for the active ref.
--refresh defaults to false: a cached read makes no model call. With the flag,
heph regenerates from the transcript using the summarize role after the turn
ends; the UI stays responsive. See
Work summaries.
/rename [name] requires an idle turn with no pending review. Explicit names
must be unique lowercase slugs matching [a-z0-9][a-z0-9-]*. Automatic naming
uses the latest 3,000 characters of user prompts, asks the model to revise
conflicting names up to three requests total, and adds a numeric suffix only as
a last resort. See
Renaming.
Anything else answers /name: not a command yet (try /help). Background
multi-ref runners, search UI, and the turn tree remain future features
(What Is Not Here Yet).
A prompt beginning ! is a command you run yourself, not a
slash command.