Skip to content

Slash Commands ​

Slash commands are built-in control commands provided by Pythinker Code CLI in the interactive TUI, covering account configuration, session management, mode switching, information queries, and more. Type / in the input box to trigger command completion — the candidate list filters in real time as you continue typing; command aliases are also matched.

After typing the full command name, press Enter to execute. If the /-prefixed input does not match any built-in or Skill command, it is sent to the Agent as a regular message.

TIP

Some commands are only available in the idle state. Executing these commands while a session is streaming output or compacting context will be blocked — press Esc or Ctrl-C to interrupt first. The "Always available" column in the tables below indicates commands that are also available during streaming.

Account & Configuration ​

CommandAliasDescriptionAlways available
/login—Select an account or platform and log in: Pythinker Code uses OAuth device-code flow; Kimi Platform uses API key loginNo
/logout—Clear credentials for the currently selected accountNo
/provider—Open the interactive provider manager to view, add, and remove configured providers. See Platforms & Models — /provider and provider managementYes
/model—Switch the LLM model used in the current sessionYes
/secondary-model/subagent-modelPick the default model for subagents (writes [secondary_model] default_model; see the subagent model pool)Yes
/settings/configOpen the settings panel inside the TUIYes
/experiments/experimentalOpen the experimental feature panelYes
/permission—Select a permission modeYes
/editor—Configure the external editor launched by Ctrl-GYes
/theme—Switch the terminal UI color themeYes

Session Management ​

CommandAliasDescriptionAlways available
/new/clearStart a fresh session, discarding the current contextNo
/sessions/resumeBrowse historical sessions and switch to / restore oneNo
/tasks/taskBrowse the background task listYes
/fork—Fork a new session from the current one, preserving the full conversation history; you stay in the current sessionNo
/title [<text>]/renameWithout arguments, display the current session title; with an argument, set a new title (max 200 characters)Yes
/compact [<instruction>]—Compact the current conversation context to free up token usage; an optional custom instruction can hint to the model what to preserveNo
/undo [<count>]—Undo recent prompts from the active context. Without a count, opens a selector; with a count, undoes that many prompts. Prompts before the last compaction cannot be undone. Undoing also rolls back the todo list and plan mode state produced by those prompts (code changes are not reverted)No
/reload—Reload the current session and apply the latest config.toml settings (providers, models, etc.) and tui.toml UI preferences, without restarting the CLINo
/reload-tui—Reload only the tui.toml UI preferences (theme, editor, notifications, etc.) without rebuilding the sessionYes
/init—Analyze the current codebase and generate AGENTS.mdNo
/export-md [<path>]/exportExport the current session as a Markdown fileNo
/export-debug-zip—Export the current session as a debug ZIP archive (same behavior as pythinker export)No
/copy—Copy the last assistant message to the clipboardNo
/add-dir [<path>]—Add an extra workspace directory to the current session. Run without a path (or with list) to list configured directories. When adding, choose whether to remember the directory for the project in .pythinker-code/local.tomlNo
/web—Open the current session in the web UI: pick a running server to connect to, or start a new foreground server after the TUI exits. See pythinker webYes
/desktop/install-desktopOpen the Pythinker Code desktop app page in your browser (URL follows the active region: https://www.kimi.com/code or https://www.kimi.ai/code). See pythinker install-appYes

Modes & Run Control ​

CommandAliasDescriptionAlways available
/yolo/yesOpen the permission mode list with Ask When Needed preselected; press Enter to confirm. In this mode, routine edits and commands run automatically; risky actions, questions, and plans still askYes
/auto—Open the permission mode list with Never Ask preselected; press Enter to confirm. In this mode, Pythinker never interrupts you; everything runs and is decided automaticallyYes
/plan [on|off]—Toggle Plan mode. Without arguments, flips the current state; explicitly passing on/off forces the setting. Simply toggling does not create an empty plan fileYes
/plan clear—Clear the current planNo
/dynamic_workflow on|off—Turn dynamic_workflow mode on or off without sending a prompt.Yes
/dynamic_workflow <task>—Turn dynamic_workflow mode on, then send <task> as a normal prompt. If the turn completes normally, dynamic_workflow mode turns off automatically. In manual permission mode, Pythinker Code asks whether to switch to Ask When Needed or Never Ask mode before starting.No
/goal [...]—Start or manage an autonomous goalSee below

WARNING

/yolo skips approval for regular tool calls. Please make sure you understand the potential risks before enabling it. Plan mode exit approval is not bypassed by /yolo; Bash inside Plan mode is still subject to the regular /yolo allow rules.

Autonomous Goal ​

/goal starts or manages goal mode: a persistent objective that Pythinker Code works toward across automatically continuing turns. For usage guidance and examples, see Interaction and input: Goal mode.

sh
/goal Update the checkout docs, run docs build, and stop if still blocked after 20 turns
CommandActionAvailability
/goal or /goal statusDisplay the current goal along with its status, elapsed time, turn count, and token countAlways available
/goal pausePause an active goal and keep itAlways available
/goal resumeResume a paused or blocked goalIdle only
/goal cancelRemove the current goalAlways available
/goal replace <objective>Replace the saved goal with a new objectiveIdle only
/goal next <objective>Queue an upcoming goal for this session. If no goal is active, start it immediately. The agent does not see queued goals until the current goal completesAlways available
/goal next manageOpen the upcoming-goal manager. Use ↑ / ↓ to browse, Space to select a goal for moving, selected ↑ / ↓ to reorder it, E to edit, D to delete, and Esc to cancel. In the edit field, use Shift-Enter or Ctrl-J for a new line and Enter to saveAlways available

The words status, pause, resume, cancel, replace, and next act as subcommands only when they are the first word after /goal. If your objective needs to start with one of those words, put -- before it:

sh
/goal -- cancel the old rollout note after the new docs are published

If an upcoming goal needs to start with manage, put -- after next:

sh
/goal next -- manage the release checklist

In non-interactive prompt mode, only the create forms start goal mode:

sh
pythinker -p "/goal Fix the failing checkout test"

Prompt mode exits with code 0 when the goal completes, 3 when it blocks, and 6 when it pauses. Other /goal subcommands, including next, are TUI controls and are not handled by pythinker -p.

Information & Status ​

CommandAliasDescriptionAlways available
/help/h, /?Show keyboard shortcuts and all available commandsYes
/btw [question]—Open a side conversation in a forked sub-Agent without affecting the current main Agent turn; without a question, opens the panel first to wait for inputYes
/usage—Show token usage, context consumption, and quota informationYes
/status—Show the current session runtime state: version, model, working directory, permission mode, etc.Yes
/mcp—List MCP servers and their connection status in the current sessionYes
/plugins—Open the interactive plugin managerYes
/version—Display the Pythinker Code CLI version numberYes
/feedback/bugSubmit feedback with optional diagnostic logs and codebase contextYes

Exit ​

CommandAliasDescriptionAlways available
/exit/quit, /qExit Pythinker Code CLINo

Built-in skill commands ​

Pythinker Code CLI ships with a set of built-in Skills that appear directly as /<name> slash commands. Unlike external Skills, they do not require the skill: prefix and are available out of the box.

CommandDescription
/mcp-configConfigure MCP servers and handle MCP OAuth login. See MCP
/custom-theme [<text>]Create or edit a custom TUI color theme. See Themes
/update-configInspect or edit config.toml (model, provider, permission, hooks) and tui.toml (theme, editor, notifications, auto-update)
/check-pythinker-code-docsAnswer Pythinker Code product questions (CLI usage, configuration, membership, error codes) against the official docs
/import-from-cc-codexImport Claude Code and Codex instructions, skills, and MCP settings into Pythinker Code
/sub-skillDiscover and reorganize the local skill inventory into hierarchical sub-skill bundles. Includes /sub-skill.review (read-only proposal) and /sub-skill.consolidate (apply the reorganization)

All built-in Skill commands are only available in the idle state.

Skill Dynamic Commands ​

Activated external Skills are automatically registered as slash commands. Ordinary external Skills use the skill: namespace prefix:

/skill:<name> [extra text]

For example, /skill:code-style loads the Skill named code-style and sends it to the Agent; any text appended after the command is concatenated to the Skill prompt.

External sub-skills appear directly in the slash command panel with dotted names:

/<parent-skill>.<sub-skill> [extra text]

For example, a child Skill named review inside a parent Skill named code-style is shown as /code-style.review. The dotted command name is derived from the hierarchy; the child SKILL.md can keep its local name.

For convenience, external Skill commands also support a shorthand form that omits the skill: prefix — /<name> — as long as the name is not taken by a system slash command. That is, /code-style falls back to matching /skill:code-style.

Built-in Skills shipped with Pythinker Code CLI appear directly as /<name> in the slash command panel. For example, /mcp-config helps configure MCP servers and handle MCP OAuth login, and /custom-theme [extra text] invokes the custom-theme workflow to create or edit a TUI theme.

INFO

External Skill commands entered while the agent is busy are queued behind the running turn instead of being rejected — press Ctrl-S to steer a queued command into the running turn immediately. flow-type Skills are also exposed via /skill:<name> — there is no separate /flow: namespace.

For installing and authoring Skills, see Agent Skills.

Next steps ​