Cook
DocsSlash Commands

Slash Commands

Type / in the prompt to open the command menu. It fuzzy-matches as you type, and picking a command runs it immediately.

This reference covers commands in the Cook CLI's terminal interface. Let Cook Desktop has its own app commands and also shows agent commands when they are available; see the Desktop App Reference.

Commands come from two places: shell builtins, handled by the agent backend (xai-grok-shell), and pager builtins, handled by the pager frontend (xai-grok-pager). Both show up in the same menu, and any enabled skill with user-invocable: true appears there too. If a skill reuses a built-in name such as login, the built-in keeps /login and the skill stays available as /plugin-name:login — the menu badges both so the collision is visible.

Every command below lists its aliases where it has them. A few commands only appear when a feature or session state enables them; those cases are called out inline. The menu is also filtered by render mode — see `/minimal` and `/fullscreen`.


Session Management

`/new`

Start a fresh session and clear the current conversation.

`/clear`

Clear the transcript from the screen without starting a new session. The agent keeps its context — use this when a long conversation makes scrolling slow or cluttered.

`/resume`

Open the session picker to reload a previous session from disk.

`/dashboard`

Open the Agent Dashboard: live roster of top-level sessions in this pager (peek, reply, dispatch, pin, rename, stop, attach). Aliases: /agents-dashboard, /sessions.

Not /config-agents (alias /agents), which manages agent definitions and personas. Hidden in minimal mode; disable with GROK_AGENT_DASHBOARD=0 or [dashboard].enabled = false.

`/cd [path]`

On the dashboard, choose a folder for new agents, or change the dashboard's working folder with /cd <path>. This command only works on the dashboard.

`/compact [context]`

Compress conversation history to reclaim context-window space. Pass a note to tell Cook what to keep:

/compact
/compact keep the auth implementation details

Cook also auto-compacts once the context window hits 85% (tune it with [session] auto_compact_threshold_percent).

The summary is sampled at low reasoning effort, because compacting is mechanical. A model that does not offer low keeps its own default effort, and one without reasoning-effort support receives no effort field. Automatic compaction keeps the session's effort.

`/context`

Show the context window split into System prompt, Messages, Reasoning/overhead, and Free. Rows for Tool definitions, Skills, and MCP servers are already counted in those totals.

`/session-info`

Show session details — auth method, model, turn count, and context usage. Aliases: /status, /info. Click a value or drag to select and copy; c copies the session ID and y copies the whole block.

`/fork`

Branch the current session into a new agent, keeping history up to this point. Syntax: /fork [--worktree|--no-worktree] [directive]. An optional directive becomes the new agent's first prompt. --worktree or --no-worktree chooses whether to use a separate Git worktree; omit both to follow the normal worktree prompt. The flags cannot be combined or repeated.

`/rewind` (alias: `/undo`)

Roll the conversation back to an earlier turn and discard everything after it. /undo is the same command.

`/copy`

Copy the most recent response's source markdown to the clipboard. Pass a number to copy the Nth-latest response instead, or a file path to write the text to a file rather than the clipboard (handy over SSH, where the local clipboard is often unreachable).

/copy
/copy 2
/copy out.txt
/copy 2 ~/exports/last-reply.md

Every copy is also written to a backup file — ~/.cook/last-copy.txt by default, or GROK_COPY_FILE if set. Confirmed copies toast briefly (e.g. Copied!). Unverified OSC 52 deliveries and clipboard-unreachable fallbacks name the backup path so you can recover the text.

`/export`

Export the conversation as Markdown. Syntax: /export [filename]. With no filename, copy it to the clipboard; with a filename, write a UTF-8 .md file. Relative paths are resolved from the session's working directory, ~ expands, and missing parent directories are created.

/export
/export ~/notes/session.md

`/quit`

Quit the application. Alias: /exit.

`/home`

Leave the current session and return to the welcome screen. Alias: /welcome.

`/delete`

Delete the current session's history. Confirms first. Stops any running turn, background tasks, and subagents before wiping history. Returns to the welcome screen, or to the dashboard when you opened the session from the dashboard.

To delete a session you are not in, open /resume or the welcome session list and press d then y. On the dashboard, press Ctrl+X twice or click [✗].

`/rename`

Rename the current session. Alias: /title.

/rename new session title
/rename --auto

--auto unpins a manual title and lets auto-titling resume. It applies to Build sessions only — chat conversations have no local auto-titler. It must be the only argument (/rename --auto Something is an error). A session cannot be named --auto via this command; use the dashboard rename editor (Ctrl+R) for that pathological case.


Model and Mode

`/model `

Switch models. Accepts a model ID or display name (case-insensitive). When the model offers more than one context window, you can add a window size next. For reasoning models you can add an effort level last. The picker asks in the same order: model, then window, then effort. Alias: /m.

/model grok-4.6
/model Cook 4.6
/model Reasoning X high
/model Reasoning X 500k high

`/effort `

Set reasoning effort on the current model without reselecting it. The valid levels are the options advertised for that model and can vary by provider. If the endpoint advertises no options, the picker falls back to xhigh, high, medium, and low; none and minimal are also accepted when supported by the model. This applies only when the active model supports reasoning effort.

/effort high

`/context-window `

Set the context window for the current model. The command is listed only when the model supports more than one size. It accepts the short label or the raw token count. The choice lasts for the session. It carries over to a new model that supports the same size. A size smaller than the current usage starts an auto-compact.

/context-window 500k
/context-window 256000

`/always-approve` and `/auto`

Both are real toggles for the permission mode: they stay in the menu, and running the mode you're already in turns it back off.

Command When off When already on
/always-approve Skip all permission prompts Back to ask
/auto Auto-review: a classifier approves safe tools (dangerous ones may still prompt) Back to ask

Running one while the other is active switches modes — for example, /auto while always-approve is on switches to Auto-review. /auto only appears when the Auto-review permission-mode feature is enabled. You can also change mode with Shift+Tab (cycles Normal / Plan / Auto-review (when enabled) / Always-approve), Ctrl+O, or /settings.

`/multiline`

Toggle multiline input. When it's on, Enter inserts a newline and Shift+Enter (or Alt+Enter) sends the message. Mid-turn, a bare Enter on an empty composer still force-sends the top queued follow-up. Alias: /ml. With multiline off, the composer footer shows the newline chord once the draft is non-empty.

`/history`

Open prompt-history search: fuzzy-search this session's prompts newest-first, then press Enter or Tab to drop a match back into the prompt.

For quick recall, press ↑ on an empty prompt instead. With prompts queued, that moves focus into the queue pane, highlighting the last row; otherwise the panel opens with your most recent prompt already filled in, and ↑/↓ step through entries (each lands in the input), ↓ past the newest entry closes the panel, and typing edits the recalled prompt in place.

`/compact-mode`

Toggle compact display — less padding and tighter spacing for denser output.

`/vim-mode`

Toggle vim-style scrollback keys (j/k, h/l, g/G, y/Y, and so on). With it off (the default), a bare letter or Shift+letter in the scrollback just focuses the prompt and types the character. The setting persists to [ui] vim_mode.

`/edit-prompt`

Open an external editor for the prompt, in either render mode. Cook resolves $VISUAL, then $EDITOR, then vi; command values may include quoted arguments. Saving replaces the draft without sending it, and saving an empty file clears it. Typing /edit-prompt necessarily replaces the composer's contents, so the editor starts from an empty draft; to edit an existing draft, choose Edit Prompt in External Editor from the command palette (or press Ctrl+G in minimal mode), which preserves the text and refuses pasted, file-reference, or image chips without flattening them.

/edit-prompt

`/minimal` and `/fullscreen`

Switch the current session to the other render mode, in place. /minimal (offered while you're in fullscreen) switches to the experimental scrollback-native mode; /fullscreen (offered while you're in minimal; alias /full) switches back to standard fullscreen mode. The switch happens inside the running process — nothing restarts, so a running turn keeps streaming and your composer draft, queued prompts, and permission mode all carry over; a marker (committed line in minimal, toast in fullscreen) reminds you how to switch back. Both are session-scoped — they don't touch config.toml — and the --minimal / --fullscreen CLI flags are session-scoped the same way. To make plain cook open in a given mode by default, use /settings → Default screen mode or set [ui] screen_mode. (If the in-place transition misbehaves in an unusual terminal, GROK_SCREEN_MODE_SWITCH=exec restores the old behavior of relaunching the pager onto the same session.)

A handful of commands only work in one of the two modes, because the surface they drive doesn't exist in the other: /find, /jump, /timeline, /theme, /tutorial, and /dashboard are fullscreen-only, while /expand is minimal-only. (/workflow runs is different: it opens the run pane in fullscreen and degrades to a text overview in minimal rather than refusing.) Those are hidden from the command menu and the palette in the mode they can't run in. If you type one out anyway, Cook says why — and points you at whichever is actually useful. When the other mode is the only way to get it, that's the mode switch: /theme isn't available in minimal mode (minimal renders with your terminal's own palette). Run /fullscreen to switch this session. When this mode already does the job another way, it names that instead: /expand isn't available in fullscreen mode: press Tab to focus the scrollback, then → on the block. Everything else works in both. Note that --no-alt-screen still counts as fullscreen here, so it keeps the fullscreen-only commands.

`/find [text]`

Search the conversation scrollback. You can add words to start with a search already filled in. Fullscreen mode only; in minimal mode, use your terminal's search.

`/jump`

Open a picker to jump to another turn in the conversation. Fullscreen mode only.

`/timeline`

Show or hide the timeline beside the conversation. Fullscreen mode only.

`/plan`

Enter plan mode.

/plan [description]

`/view-plan`

Open a preview of the current saved plan. Aliases: /show-plan, /plan-view.


Memory

/flush and /dream require memory enabled through GROK_MEMORY=1, [memory] enabled = true, or managed remote settings. /memory is available whenever a memory store is configured for the session, including when [memory] enabled = false turned memory off, so you can browse saved notes and turn memory on for the session from inside the modal. It is hidden only when no memory store is configured, or when --no-memory / GROK_MEMORY=0 turned memory off for the whole process. /remember is always available.

`/memory`

Browse, view, and manage saved memories. Alias: /mem. Inside the modal, t turns memory on or off for the session, x deletes the selected note, and s shows content-free queue, lease, retention, and pinned-rollout diagnostics. The t toggle is session-scoped: it does not edit config.toml, and new sessions follow the config again. It cannot override --no-memory or GROK_MEMORY=0.

/memory

`/flush`

Save the current session's knowledge to memory right now, triggering an LLM summary of the most important content. Reach for it before compaction, or any time you want to lock in context. The status line shows "Flushing memory…" while it runs, and a scrollback line reports the outcome (for example "Memory flushed through turn 12").

`/dream`

Run memory consolidation — merge session logs into organized topics. The status line shows "Consolidating memory…" while it runs, and a scrollback line reports what happened: how many observations were merged into how many topics, that there was nothing to consolidate, or that another session is already consolidating.

`/remember`

Save a note to memory immediately, without waiting for an automatic summary. Syntax: /remember [text]. With no text, Cook prompts for the note.

/remember the staging deploy uses the eu-west cluster

Hooks and Plugins

/hooks, /plugins, /marketplace, /skills, and /workflows all open the same extensions modal, each on its own tab.

`/hooks`

Open the extensions modal on the Hooks tab, where you can view loaded hooks, add or remove custom ones, and toggle them individually. The modal does not grant project trust — see 10-hooks.md for the trust model.

The shell also advertises individual /hooks-list, /hooks-trust, /hooks-add, /hooks-remove, and /hooks-untrust commands; in the pager these are folded into the /hooks modal.

`/plugins`

Open the extensions modal on the Plugins tab to view installed plugins, install new ones from the marketplace, and manage trust. Alias: /plugin.

The shell also accepts /plugins list, reload, add <path>, remove <path>, install <source> [--trust], uninstall <name> [--confirm], and update [name]. The --trust flag is required to install and activate a source; without it, Cook explains the activation effects and asks you to repeat the command. Uninstalling a plugin that shares a repository with others requires --confirm. The legacy /plugins trust spelling only returns a migration message; manage trust in the modal. /reload-plugins is a shell command for /plugins reload. These shell management commands are gated on plugin support; in the pager, the modal provides the visual controls.

`/marketplace`

Open the extensions modal on the Marketplace tab to browse and install plugins.

`/skills`

Open the extensions modal on the Skills tab to view installed skills.


Media Generation

`/imagine `

Generate an image from a text description.

/imagine a golden sunset over a calm ocean with silhouetted palm trees

`/imagine-video `

Generate a video from a text (or image) description. It plans shots, generates source images, and animates them with image_to_video.

/imagine-video a cat playing piano in a jazz club

Scheduling

`/loop [interval] `

Run a prompt on a recurring interval. Give the interval as 30m, 1 hour, or every 2 days; leave it out and Cook will ask.

/loop 30m check deploy status
/loop check deploy status every hour

Intervals are Ns (seconds, minimum 60), Nm (minutes), Nh (hours), or Nd (days); anything under 60 seconds is raised to the minimum. Recurring tasks expire after 7 days, and you can cancel one with scheduler_delete using the job ID reported when the loop is created.


Git

`/commit`

Commit the current changes with a message Cook writes from the conversation so far.

/commit
/commit fix the flaky retry test
/commit --push

The message follows the style of recent history (git log -5 --oneline), so conventional-commit prefixes are used only when the log already uses them. An optional argument steers the subject; when it already reads as a complete subject line it is used as-is. --push is shorthand for /commit-and-push. The commit runs in an isolated child session at low reasoning effort, since writing the commit needs no deep reasoning; a model that does not offer low keeps its own default effort.

Cook probes the tree with git status --porcelain and git diff --stat HEAD rather than reading every diff again, stages the changes that belong in the commit, and leaves secrets, dependencies, and build output out of it. Nothing staged or modified reports "nothing to commit" and stops. An in-progress merge, rebase, cherry-pick, or bisect stops the command instead of committing on top of it.

`/commit-and-push [message hint]`

Commit as above, then integrate the upstream branch and push.

Cook fetches the tracked upstream, runs a plain git pull so your pull.rebase / pull.ff setting is honored, and pushes. If the pull conflicts, it does not abort: it lists the unmerged paths (git diff --name-only --diff-filter=U), reads only those files, resolves each so both your commit's intent and the incoming changes hold, stages them, and continues the merge (git commit --no-edit) or rebase (git rebase --continue) before pushing. A push that fails on auth or network leaves the commit in place and reports the error.

Neither command ever force-pushes, rewrites published history, or uses --no-verify, --amend, or --allow-empty unless you ask.


Workflows and Goals

`/goal`

Set, manage, or check an autonomous goal. Cook works across rounds and only marks the goal complete after an independent evidence review confirms the claim; if that review cannot reproduce the result or has no usable evidence, the goal stays active or pauses with concrete gaps.

/goal Migrate the auth module to the new API
/goal Migrate the auth module --budget 500000
/goal Migrate the auth module --plan ./docs/migration-plan.md
/goal Migrate the auth module --from-plan
/goal status
/goal pause
/goal resume
/goal clear

Set a goal with <objective> [--budget <tokens>] [--plan <path> | --from-plan], or use status, pause, resume, or clear to manage the current goal. --budget is an optional positive, whole-number token budget for the goal run, separate from workflow agent-call budgets. The flags must be trailing standalone arguments; a --plan path is one whitespace-free token, and --plan and --from-plan cannot be combined. Other text remains part of the objective.

--plan <path> reads a plan relative to the session's working directory. --from-plan reads the current plan-mode episode's file; for sessions without an episode file it falls back to the legacy <session>/plan.md. Episode files live in plans/ and receive a title-based filename when the episode ends. Either source skips the internal planner, is snapshotted as goal/plan.baseline.md, and gives the verifier an immutable baseline for reviewing later edits. Goal mode is on by default; [goal] enabled = false, GROK_GOAL=0, or a remote policy can disable /goal and /goal_batch.

With background workflows enabled (the default), the host evaluates each goal round and runs adversarial verification on completion candidates. With workflows disabled, the session must expose the legacy model-facing update_goal tool, which reports progress and triggers verification. See Configuration.

`/goal_batch`

/goal_batch <objective> [--budget <tokens>] [--plan <path> | --from-plan] [--base-url <URL>]

Start a goal whose main agent sends each model round through the provider's asynchronous Batch API. Goal helper roles and subagents may still use real-time requests. It uses the same goal lifecycle commands and the same token budget and plan-source options as /goal:

/goal_batch Process the backlog --budget 500000
/goal_batch Migrate auth --from-plan --base-url https://batch-api.example.com/v1

The selected model must opt in with supports_batch_api = true, use the Chat Completions API, and have a configured provider API key. OpenAI models use https://api.openai.com/v1 by default; other providers require --base-url. The URL must be HTTPS, end in /v1, and use the same provider host as the model. Xiaomi models require the account-region Batch API URL and a pay-as-you-go sk- key. This command is available only when goal mode is enabled. See Configuration for the model setting and driver behavior.

`/deep-research `

Kick off a background research workflow. It plans a bounded set of questions, gathers structured claims with source evidence, cross-checks each claim on an independent verifier shard, and renders only the claims that survive, with their verified source locators. Failed shards, dropped claims, and researcher uncertainties are reported as coverage limitations, and the report is marked Partial whenever any remain.

/deep-research Compare the migration risks of PostgreSQL 17 and MySQL 9

The command returns right away — follow progress in /workflow runs, and the final report appears in the conversation on its own.

Workflows use an absolute cumulative agent_budget cap on logical child-agent calls: every agent() call and every item in a parallel() panel spends one slot, while schema-correction retries don't. The default is 128, explicit values run 1–1,024, and a panel that would cross the remaining budget is rejected before any of its children launch. Model-launched workflows set agent_budget on the workflow tool; named slash launches accept --agent-budget N or an agent_budget field in their JSON args. Named launches can also set child reasoning effort with --effort LEVEL or JSON effort, without changing the current session's /effort; a child script's own effort option takes precedence. Separately, a host-configured cap (32 by default) bounds how many children run at a time per run; larger panels queue and still act as a barrier. budget() reports the cap as total, admitted calls as spent, reserved (always zero), and remaining.

`/workflow`

Launch a saved workflow, or manage a running one by its session-unique display name. Launch the same workflow twice and the display names are numbered (review-changes, review-changes-2); you never need the internal run IDs. Bare /workflow prints a text overview of this session's runs.

Type /workflow and a space to autocomplete saved workflow names (built-in, project, and user) plus the manage verbs runs, pause, resume, stop, and save. Picking a name fills it in and offers launch flags before you add args; it does not launch until you press Enter. pause / resume / stop / save then list this session's run handles — a bare /workflow stop does not pick a run.

/workflow review-changes --agent-budget 256 --effort high {"target":"origin/main...HEAD"}
/workflow review-changes {"target":"origin/main...HEAD","agent_budget":256,"effort":"high"}
/workflow runs
/workflow pause review-changes
/workflow resume review-changes
/workflow stop review-changes-2
/workflow save review-changes

/workflow runs opens the live Workflow Runs dashboard in the fullscreen TUI — active and retained runs, not a catalog of saved definitions. Each row shows the run's display name, phase, agent roster, progress, and result. Inside a run's detail view, p pauses, r resumes an ordinary pause, and x stops. Budget-limited runs can't bare-resume: r returns the shell's rejection (raise the cap with a model/tool resume that passes a higher agent_budget), while x still stops. s saves the run's script, but it's hidden for known built-ins and numbered duplicate handles — for those, choose a new unique meta.name and save the edited script explicitly. In minimal mode and non-TUI clients, /workflow runs prints the same text overview as bare /workflow.

Project workflows live in .grok/workflows/*.rhai; user workflows live in ~/.cook/workflows/*.rhai. A same-process pause/resume continues the original immutable script, args, and agent_budget cap from committed host-call results — to iterate, edit the returned script copy and launch it as a new run.

A budget-limited run is different: it only resumes through a model/tool resume request that supplies an agent_budget above the admitted agent count. A bare /workflow resume <name> can't raise the cap, so it rejects budget-limited runs. Runs interrupted by a process restart aren't resumed at all, because external effects have no stable cross-process identity. And resume is not exactly-once: an external effect whose result wasn't committed before a same-process pause can run again.

`/workflows`

Open the extensions modal on the Workflows tab — a browse-only catalog of the saved workflows Cook discovered (built-ins, project .grok/workflows/, and user ~/.cook/workflows/), with each entry's source, description, and path. The same catalog is listed for the model under the skill listing in the session preamble. Launch one with /workflow <name> (or its own slash command), then watch it in /workflow runs.


Other

`/theme`

Syntax: /theme [name]. Without a name, cycle through available themes. Pass a theme name to select it, or auto to follow the system appearance. Selecting a specific theme turns auto mode off. Fullscreen mode only. Alias: /t.

`/feedback [message]`

Report an issue or send feedback. Bare /feedback opens the feedback form in every mode, including --minimal. Its Write tab is a report box: Enter sends, Esc closes. Its Drafts tab (Ctrl+Tab switches) holds reports saved for later — failed sends and feedback the agent drafted for you — and Enter loads one into Write so you can review, pick a type, and send it. /feedback <message> sends the message immediately, in any mode; if the send fails, the message is saved to Drafts.

/feedback
/feedback Something isn't working correctly

`/btw`

Send an aside to the agent without interrupting the current task. In minimal mode (--minimal), the answer shows up in a dismissible panel above the prompt: Esc dismisses it, a finished answer is saved into native scrollback, and a late reply to an already-dismissed panel is dropped. The side question and its answer aren't part of the main turn.

/btw can also appear mid-message: the whole message (minus the token) becomes the side question and nothing goes to the main turn. Only /btw works this way; other commands must start the message. For a multi-line side question, use Alt+Enter (over SSH) or Shift+Enter, a trailing \, or /ml. Do not rely on Cmd+Enter: Apple Terminal inserts a newline locally via CoreGraphics; a delivered SUPER+Enter (Kitty) also inserts a newline rather than sending; over SSH Cmd never arrives and the chord sends.

/btw also check the error handling
fix the retry loop first. /btw what does WBC stand for?

`/mcps`

Open the MCP servers management modal.

`/doctor`

Check the current session for terminal, clipboard, color, input, notification, and sandbox issues. Syntax: /doctor [fix [FIX]]. The report includes suggested resolutions. /doctor fix lists automatic fixes available in this environment; /doctor fix <name> runs a listed fix. /terminal-setup, /terminal-check, and /terminal-info are aliases.

`/release-notes`

View release notes for the current version. Alias: /changelog.

`/docs`

Browse the built-in How-to Guides, open the online Build docs, or jump straight to a guide by title. Aliases: /howto, /guides.

/docs
/docs web
/docs Getting Started
  • Bare /docs (or /docs how-to) opens the How-to Guides picker.
  • /docs web opens https://docs.x.ai/build/overview in your browser.
  • /docs <title> opens a specific guide by case-insensitive title match.

`/tutorial`

Open the onboarding tutorial: a short list of topics (your first prompt, attaching context, navigation, slash commands, worktrees, plan mode, customization, switching from another agent tool) — each a ~30-second read, with → flowing straight to the next topic. Nothing auto-shows — this command (or the command palette) is the way in.

/tutorial

Aliases: /tour, /onboarding

`/import-claude`

Open the Claude import modal to bring over ~/.claude settings: permissions, environment variables, MCP servers, hooks, and paths.


Agents and Personas

`/config-agents`

Open the agents modal to view and manage agent definitions, set the default, and switch the active one. Alias: /agents.

Not the live multi-session Agent Dashboard (/dashboard / Ctrl+\).

`/personas`

Create, edit, and delete personas. A subagent can apply a persona to shape how it behaves.


Account and Billing

`/login`

Log in or re-authenticate without leaving the session.

`/logout`

Log out and return to the login screen.

`/usage`

View credit usage or manage billing. Alias: /cost.

/usage
/usage manage

Inside a session this opens the usage modal with the account allowance plus that session's context and token totals. From the Agent Dashboard the same modal opens over the dashboard; there is no session there, so only the Usage limit tab carries data.

For persisted per-turn token and cost totals of any local session, use cook usage <session-id> [turn] from the shell. See Session Management.

`/privacy`

Open Settings on Coding data, retention, and training, where you choose Opt in or Opt out. Takes no arguments.

/privacy

This setting doesn't touch [features] telemetry, trace_upload, or your external OTEL settings — see Monitoring Usage. On team accounts only a team admin can change it, and admins can also enable or disable Zero Data Retention for the team (how to enable ZDR). When the choice isn't yours to make, the row says so — ZDR or · Admin Managed — instead of opening the chooser. ZDR locks coding-data sharing; it does not mute external OTEL or user.email — see ZDR and this stream.


Configuration and UI

`/settings`

Open the settings modal to view and change configuration interactively. Aliases: /config, /preferences, /prefs.

`/timestamps`

Toggle message timestamps on or off.

`/announcements hide | show`

Hide or show the announcement banner. This command is reserved for app controls and may not appear in the command menu.

`/queue`

Show prompts waiting behind the current turn. In fullscreen mode, use the queue pane to edit or remove them.

`/tasks`

List background tasks, subagents, and scheduled tasks. In fullscreen mode, open the tasks pane to manage them.

`/transcript` (alias: `/log`)

Open the full conversation in your terminal pager. This is useful in minimal mode, where old messages have moved into your terminal's scrollback.

`/recap` (alias: `/summarize`)

Ask Cook for a short summary of the session so far. It appears in the conversation, but does not add another message to the model's context.

`/config-agents` (alias: `/agents`)

Open the list of agent definitions. This is different from /dashboard, which shows running sessions.

`/personas`

Open the personas tab to create, edit, or remove personas.

`/toggle-mouse-reporting`

Turn terminal mouse capture on or off. This command is hidden unless ui.mouse_reporting_toggle = true is set in config.toml.

`/expand`

In minimal mode, open a response block in the fullscreen viewer. This command only appears in minimal mode.

`/voice`

Start voice input when it is enabled for your account. The command is hidden when voice input is not available.

`/share`

Session sharing is currently disabled. /share is hidden from the menu, and typing it reports that sharing is unavailable.

`/help`

Open the command palette, where you can search commands and keyboard shortcuts. The same palette opens with Ctrl+P or ?.

Aliases

These names run the same command as the name in the right column:

Alias Runs
/agents /config-agents
/agents-dashboard, /sessions /dashboard
/changelog /release-notes
/config, /preferences, /prefs /settings
/cost /usage
/exit /quit
/full /fullscreen
/guides, /howto /docs
/info, /status /session-info
/log /transcript
/m /model
/mem /memory
/ml /multiline
/onboarding, /tour /tutorial
/plugin /plugins
/plan-view, /show-plan /view-plan
/t /theme
/summarize /recap
/terminal-check, /terminal-info, /terminal-setup /doctor
/title /rename
/undo /rewind
/welcome /home
/yolo /always-approve

Commands that depend on your setup

Some commands appear only when their feature is available:

Command When it appears
/auto Auto permission mode is enabled.
/dashboard The dashboard is enabled and the session is not in minimal mode.
/dream, /flush Memory is enabled for the session.
/feedback Feedback is available for the current account.
/goal, /goal_batch Goal mode is enabled for the session.
/loop The connected agent provides the scheduler tool.
/memory A memory store is configured.
/recap Session recap is enabled.
/share Reserved for session sharing, which is currently disabled.
/toggle-mouse-reporting The mouse reporting toggle is enabled in config.
/voice Voice input is available for the account.
/workflow, /deep-research The connected agent allows workflow launches.

/announcements and shell-only hook management commands are reserved for app controls. They may not appear in the prompt menu. /debug, /gboom, and /scroll-debug are diagnostics or hidden easter eggs, so they are not part of the user command list.


Skills as Slash Commands

Any enabled skill with user-invocable: true in its SKILL.md frontmatter shows up as a slash command. (Turn a skill off via /skills and it stops being advertised.) So a skill at ~/.cook/skills/commit/SKILL.md runs as:

/commit fix typo in README

Skills from plugins work the same way. When two skills share a name across scopes, qualify it:

/local:commit      # Project-scoped skill
/user:commit       # User-scoped skill

Built-in commands always win the bare name. Name a skill "compact" and /compact still runs the built-in — the skill stays available as /local:compact (or /acme:compact for a plugin). Both appear in the slash menu: the built-in is tagged built-in and the skill is tagged skill · local / skill · acme.


Autocomplete

The menu supports fuzzy search: start typing after / to filter. Each entry shows the command name, its description, an argument hint when it takes arguments, and its source (builtin, skill scope, or plugin name). Press Tab or Enter to accept the highlighted command.