REPL slash commands
Inside the agent loop REPL, type /help for the full list.
| Command | Description |
|---|---|
/help | Show available commands |
/clear | Summarize and clear the current conversation |
/model [name] | Show or switch LLM model mid-session (tab-complete shows up to 10 suggestions) |
/model default [name] | Show or set the default startup model, persisted to ~/.kdeps/agent-loop-settings.yaml |
/model list | List all available models with provider status |
/model ps | List running local model servers (llamafile/gguf) with PID, port, and health |
/model ps kill <model> | Kill a running local model server and clean up its port file |
/model ps switch <model> | Switch the active model to a running local server |
/model hff search <query> | Search HuggingFace for GGUF repos (sorted by downloads) |
/model hff info <repo> | List GGUF files and sizes available in a HuggingFace repo |
/model hff download <repo> [file] | Download a GGUF from HuggingFace; auto-registers an alias for /model |
/model tool [list] | Show agent loop settings: tool rounds, retries, retry delay, compaction, history caps, stall timeout, auto-allocation |
/model tool set <setting> <value> | Change a setting, e.g. set rounds 80 (0 = unlimited), set compact-threshold 40k, set web-limit 0 (also bash-limit/file-limit/code-limit; 0 removes that per-request call cap), set retry-delay 5s, set stall-timeout 5m, set autokill on. Settings are persisted to ~/.kdeps/agent-loop-settings.yaml and restored next session |
/model name [show|hide|abbreviate|auto] | Show or set how the modeline displays the model name, overriding the theme's default (see Themes); persists |
/skills | List loaded skills |
/prompts | List loaded prompt templates |
/<skill-name> [prompt] | Invoke a skill or prompt template directly |
/compact | Summarize older turns now, keeping the last few verbatim. Unlike auto-compaction it runs regardless of how large the session is; it only shrinks the saved conversation, not a single turn's own tool output |
/history | Show conversation history |
/thinking [off|minimal|low|medium|high|xhigh|auto] | Enable extended reasoning (Claude only; warns if current model does not support it); persists across sessions |
/prompt | Show the exact LLM request for the last turn (system prompt, messages, tool schemas) |
/prompt raw | Same, unformatted - the raw JSON payload sent to the model |
/permission [read-only|workspace-write|danger-full-access|ask] | Show or set the tool permission mode; persists across sessions (see Permission modes) |
/session list|save|load|delete|checkpoint|goto|branches|import | Manage this folder's saved sessions and navigate branching history (see Sessions) |
/editor | Open current input in $EDITOR (ctrl+g) |
/copy | Copy last assistant response to clipboard |
/reload | Reload skills and prompt templates from disk |
/theme [name|list] | Show or set the REPL's look - normal (default), black, linux, vim, emacs, or a custom name from ~/.kdeps/themes/ (see Themes); list shows built-in and custom names separately; persists. Also --theme / KDEPS_THEME at startup |
/context | Show current context window size |
/context <size> | Set context window size (e.g. 32768 or 32k); restarts local model servers with the new --ctx-size; persists across sessions |
/turo | Show turo reducer status (state, level). Only available when the turo binary is on PATH |
/turo on|off | Enable or disable prompt reduction at runtime |
/turo lite|full|ultra | Set the turo compression level |
/turo <stage> on|off | Toggle a pipeline stage: filler, synonyms, gloss, defmatch, arrows |
/goal | Show the active goal's task list and status |
/goal on|off | Enable or disable goal-directed execution entirely; persists across sessions. off drops any active goal and runs turns as a plain tool loop |
/goal new <text> | Replace the active goal with a new plan |
/goal skip | Abandon the active task and advance to the next |
/goal clear | Drop the active goal (the next prompt starts a new one) |
/refine | Show whether pre-turn prompt refinement is on (see Prompt refinement) |
/refine on|off | Enable or disable rewriting each prompt for clarity before the turn; on by default, persists across sessions |
/efficiency | Show efficiency enforcement state and limits (see Efficiency enforcement) |
/efficiency on|off | Enable or disable soft-stopping read-only exploration loops; on by default, persists |
/efficiency verbose on|off | Reveal the hidden model-facing channel for debugging; off by default, persists |
/efficiency <setting> <n|off> | Set one limit: reads, actions, stops, tighten, web, bash, file, code; persists |
/efficiency preset <name> | Overwrite every efficiency value from frugal, balanced or thorough |
/efficiency reset | Restore the shipped defaults |
/instruct | Print a kdeps briefing (what kdeps is, how to call a tool with worked <invoke> examples, the live tool catalog, memory, goals, runtime feedback) and append it to history as a settled turn, so the next prompt is primed with it |
/instruct! | Same briefing, but sent as a real turn now - the model reads it and replies with an acknowledgement on the spot. For models that skim injected context |
/instruct <topic> / /instruct! <topic> | Brief on one topic only: overview, modes, tools, available, memory, goals, feedback, files |
/instruct list | Name the topics without briefing the model |
/judges | Show the configured judge panel (reviews each turn's final output - see Judge panel) |
/judges add <name> <criteria> | Add a judge to the explicit roster |
/judges remove <name> | Remove a judge from the explicit roster |
/judges auto [on|off] | Show or toggle a per-turn auto-generated roster; persists across sessions |
/judges off (or /judges clear) | Disable the judge panel entirely (drops the explicit roster and turns off auto-judges); persists across sessions |
/memory | Show memory store overview: entry count and the 10 most recently updated entries (with values) |
/memory list | List every stored memory entry with a truncated value preview |
/memory search <query> | Search memory keys and values for a substring |
/memory show <key> | Show one entry's full value, type, timestamps, and its dependency graph node (the same <graph-node> block the model receives in its prompt) |
/settings | Open the tool/skill selector |
/exit | Exit the REPL |
! <cmd> | Run a shell command; the output becomes an agent turn - the model responds and can act on it (e.g. !make lint -> the model fixes the findings) |
!! <cmd> | Run a shell command silently - no LLM turn, nothing added to context |
@<path> | Inline a file's contents (text) or attach it (image) into the next turn, e.g. explain @main.go |
/autocontext [on|off] | Show or toggle auto-detecting command/file mentions in plain chat text (on by default, persists across sessions) |
/tools [full|lean] | Show or toggle the lean/full tool set (full by default, persists across sessions - see Lean mode) |
/upgrade | Check for a newer kdeps release and, for a standalone install, download/verify/install it (see Updating kdeps) |
/upgrade nightly | Same, but checks the nightly channel instead of the latest stable release (see Nightly builds) |
/upgrade <version> | Install an exact version directly, skipping the update check - older than the running build means a downgrade (see Installing a specific version) |
/handshake [on|off] | Show or toggle the mandatory session-integrity tool-call check. Turning it on verifies the current model immediately, before your next prompt, then again on every model change/resume/compaction/fold (off by default, persists across sessions - see Session-integrity handshake) |
/harness [list] | List harness sections (the system-prompt text sent every turn) with their enabled/disabled state |
/harness enable|disable <name> | Turn a harness section on/off; persists to ~/.kdeps/harness/<name>.yaml and takes effect on the next turn (no restart) |
/harness events [list] | List reactive LLM events with a trigger summary, action, and enabled/disabled state |
/harness events enable|disable <name> | Turn an event on/off; persists to ~/.kdeps/events/<name>.yaml and takes effect immediately - a disabled event's threshold can never fire |
/harness preset [list] | List built-in + user presets (e.g. frugal, balanced, thorough) with their descriptions |
/harness preset <name> | Apply a preset: writes its bundled event overrides to ~/.kdeps/events/*.yaml and reloads immediately - no restart |
/harness reminders [list] | List every harness section with its reminder on/off state (see Harness reminders) |
/harness reminders <name> on|off | Force that section's text onto every LLM prompt and every tool call result, independent of its own enabled/disabled state or normal trigger; persists to ~/.kdeps/harness/<name>.yaml. A reminder:<names> segment appears in the status line (next to turo:) while any are active, and disappears when the last one is turned off |
/harness reminders instruct:<topic> on|off | Same, for an /instruct topic (overview, modes, tools, available, memory, goals, feedback, files); a bare topic name also works unless a harness section shares it (tools, memory). Persists to ~/.kdeps/agent-loop-settings.yaml |
/konfig export|import [path] | Export or import tuning, harness, themes, events, actions, presets, and skills as a self-contained YAML file (default ./konfig.yaml) - see konfig |
/login | m365 backend only: open a browser window to (re-)sign in, even if a session is already cached (see M365 Copilot) |
Auto-detected commands and files
!cmd and @path require you to know kdeps' own syntax. Auto-context detection covers the common case where you just describe what you want in plain English - but only fires on a command or file mention wrapped in quotes (single or double); an unquoted mention in plain prose is never offered:
you type: "can you run \"df -h\" and take a look at \"main.go\"?"
|
v
kdeps scans the quoted spans for a read-only command ("df -h")
and an existing, readable file ("main.go")
|
v
"Detected in your message:
command: df -h
file: main.go
Run the command(s) / include the file(s)? [y/N]"
|
y -----+----- n/Enter
| |
v v
runs `df -h`, sends your original
inlines text completely
main.go, sends unchanged
the turnOnly text inside "..." or '...' is ever scanned - typing can you check df -h for me with no quotes triggers nothing, even though df -h is a recognized command. Quoting "df -h" is what tells auto-context you mean it literally.
Text files and read-only commands
The same scan finds existing, readable text files by name (look at "main.go") and offers to inline them like @main.go would - images/binaries are never auto-detected, use an explicit @path instead. Only a strict allowlist of read-only commands is offered (ls, df, ps, git status, go env, docker ps, etc.); destructive commands (rm, git commit, go build, docker rm, ...) never match, even quoted. One confirmation covers everything in a message; declining (or pressing Enter) sends your text unchanged.
Pipes and command substitution
Pipes and command substitution are recognized too, as long as every stage is allowlisted: "ps aux | grep -i kdeps" runs as one pipeline provided each |-separated stage is read-only (a stage like xargs rm invalidates the whole thing); $(git rev-parse HEAD) needs no extra quoting - its $(...) body is checked the same way, and anything that could chain a second command inside the parens (;, &, `, a nested $() is rejected outright.
Auto-context on and off
Disable it for the session with /autocontext off if the confirmation prompt gets in your way; /autocontext on re-enables it, and /autocontext alone shows the current state.
Startup flags
| Flag | Effect |
|---|---|
--resume <id> | Resume a specific session directly, skipping the picker |
--new | Start a clean session, skipping the resume picker for this folder |
--model / --backend / --base-url | Override the model for this run |
--system <text> | Prepend a system prompt |
--theme <name> | REPL theme: normal (default), black, linux, vim, emacs, or a custom name from ~/.kdeps/themes/ (see Themes) |
Sessions and memory are stored under ~/.kdeps/, partitioned by the directory kdeps runs in. See Sessions.
See also
- Agent mode - overview and starting the REPL
- Built-in tools - tools available to the model
- Goal-directed execution
