Manual

Every slash command in amber comes from one JSON tree (completions.json). Nothing is hardcoded, nothing is special-cased: the drawer, Tab completion, and the ? help pages are all derived from the same tree. Press / to open the drawer, type? at any depth for the full help page.


Model & Provider

CommandWhat it does
/set modelSwitch the active AI model at runtime
/get modelShow the active model name
/get model listList all models the server offers
/get model contextShow the active model's context window size
/set providerSwitch the active LLM provider
/get providerShow provider name and API base URL
/get provider listList available providers
/provider listList all saved API providers
/provider addAdd a new provider (settings form)
/provider editEdit a provider's configuration
/provider deleteDelete a saved provider
/provider testProbe the provider's API endpoint

Sessions & Jobs

CommandWhat it does
/session listBrowse saved sessions
/session saveSave the conversation as a named session
/session loadLoad a session by ID
/session deleteDelete a saved session
/session renameRename a saved session
/job listList running and finished background jobs
/job startStart a background job with a shell command
/job readRead a job's output (all, or since last read)
/job killStop a running job by ID
/saveSave the current conversation
/compressForce compression of conversation history

Policy & Permissions

CommandWhat it does
/get policy modeAgent access mode (read / write / yolo)
/set policy modeSet the agent access mode
/get policy approvalMaster switch for permission gating
/set policy approvalToggle permission gating
/get policy timeoutApproval dialog timeout in seconds
/set policy timeoutSet the approval dialog timeout
/get policy ruleShow a tool's permission rule
/set policy ruleSet or clear a tool's permission rule

Files & System

CommandWhat it does
/files lsList directory contents with sizes and mtimes
/files treeDirectory tree, recursive, max depth 4
/files openView file content inline (first 4 KiB)
/files findFind files by glob pattern
/system execExecute a shell command, capture output
/system mkdirCreate a directory (including parents)
/system deleteDelete a file or empty directory
/system rmdirRecursively delete a directory tree
/system mvMove or rename a file or directory
/system cpCopy a file or directory (recursive)
/system infoFile metadata: type, size, permissions
/system psList running processes (top 20 by memory)
/system killSend SIGTERM to a process by PID
/system dfDisk usage for a path
/system uptimeUptime and load averages
/system unameKernel, architecture, hostname

MCP & Plugins

CommandWhat it does
/mcp listList configured MCP servers and connection state
/mcp showDetails for one MCP server
/mcp connectConnect to a server, register its tools
/mcp disconnectDisconnect and unregister its tools
/mcp refreshReconnect all enabled MCP servers
/mcp promptsList prompt templates exposed by a server
/mcp enable / disableEnable or disable a configured server
/mcp trustMark a server as trusted
/get plugin listList installed plugins and their state
/get plugin info <id>Show one plugin's runtime state and manifest
/set plugin install / uninstallInstall or remove a plugin archive
/set plugin on / off <id>Load or unload a plugin
/get plugin settings / /set plugin settingsRead or change a plugin setting

Skills, Learning & Engine

CommandWhat it does
/get skills showList loaded skills
/set skills create / deleteCreate or delete a skill package
/set skills install / uninstallInstall or remove a skill pack (tar.gz, path or URL)
/set skills refreshReload the skill catalog from disk
/set skills interopToggle .claude/skills interop
/get learnShow learned skills and memories
/set thinkThinking / reasoning display mode
/get thinkShow the current display mode
/set reasoning effortReasoning effort: off / low / medium / high
/get reasoningShow reasoning effort
/get compression thresholdContext utilisation threshold for compression
/set compression thresholdSet the compression trigger threshold
/get compression min_turnsMinimum turns before compression activates
/set compression min_turnsSet the minimum turns
/set subagent parallelSub-agents concurrent (on) or serial (off)
/set subagent maxMaximum concurrent sub-agents
/set display markdownToggle markdown rendering of responses
/set detection loop / duplicateTool-loop and duplicate call detection
flowchart TB
    ctx["sealed Context, read-only"] --> gate{"compression gate"}
    gate -->|compressed| rebuild["context rebuilt<br/>clear + push"]
    gate -->|kept| copy
    rebuild --> copy["prompt copy<br/>the Context itself is never mutated"]
    copy --> head["head blocks<br/>inserted right after the system prompt"]
    copy --> tail["tail blocks<br/>appended after the conversation"]
    head --> order["within each: ascending prompt_priority<br/>ties keep insertion order"]
    tail --> order
    order --> sources["sources: retrieved memories · skill metadata<br/>session brief · plugin PromptBlockCapability"]
    sources --> omit["a block that renders empty is omitted"]
    sources --> isolated["a plugin block that throws<br/>cannot break the turn"]
Injected blocks are assembled after the compression gate, never before it.
flowchart TD
    cycle["compression cycle"] --> response["CompressionResponse<br/>segments · memory_ops · skill_ops"]
    response --> apply["apply_compression_result"]
    apply --> mem["apply_memory_ops<br/>upsert, evidence starts at promote_threshold"]
    apply --> skills["apply_skill_ops<br/>upsert or deprecate, with a trigger phrase"]
    mem --> store
    skills --> store["JsonMemoryStore"]
    store --> dedup["dedup by content hash<br/>a repeat upsert just bumps evidence"]
    store --> recall["MemoryRetriever builds the system-prompt suffix<br/>recall is injected into the prompt copy"]
Learning happens only inside the compression cycle, driven by the model’s judgment.

Windows

CommandWhat it does
/newOpen a new chat window
/closeClose the current window
/stopStop the agent's current work
/window listList all open windows
/window renameRename the current window
Alt+1 .. Alt+9Switch windows, BitchX style
/quitLeave (alias: /q)

Configuration

Project settings live in amber.conf in the workspace root. Provider credentials live outside the project, per provider file:

# amber.conf (project-local, only data paths)
system_prompt=prompts/system.md
tools_prompt=prompts/tools.md
git_prompt=prompts/git.md

# ~/.config/amber/providers/<name>.conf
api_base=http://localhost:8080/v1
model=Qwopus-27B-Fusion

Amber keeps its own files in four places, following the XDG base directories: global config in ~/.config/amber (providers, skills, MCP servers), shareable project config in<project>/.amber (created only when you add something), private per-project state in~/.local/state/amber/projects/<project> (sessions, settings, logs, experience, policy) and the model cache in~/.cache/amber. Running amber from your home directory therefore leaves no project directory behind, and a deleted checkout does not take your conversation history with it./get config paths prints the resolved layout for this machine, and the bundled amber-config skill teaches the agent the same table.

Environment variables

  • AMBER_WORKSPACE - override the workspace root (defaults to the working directory)
  • AMBER_MODEL - override the default model
  • AMBER_PROVIDER - override the default provider
  • AMBER_STREAM - set 0 to disable SSE streaming
  • AMBER_APPROVAL - approval mode override
  • XDG_CONFIG_HOME, XDG_STATE_HOME, XDG_CACHE_HOME - move the config, state and cache roots
amber 0.5.8Apache 2.0C++17
utf-8ncursesJacek Trefon www.trefon.com2026