Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI Reference

Zeph uses clap for argument parsing. Run zeph --help for the full synopsis.

Usage

zeph [OPTIONS] [COMMAND]

Subcommands

CommandDescription
initInteractive configuration wizard (see Configuration Wizard)
agentsManage sub-agent definitions — list, show, create, edit, delete (see Sub-Agent Orchestration)
skillManage external skills — install, remove, verify, trust (see Skill Trust Levels)
memoryExport and import conversation history snapshots
vaultManage the age-encrypted secrets vault (see Secrets Management)
routerInspect or reset Thompson Sampling router state (see Adaptive Inference)
ingestIngest a document or directory into semantic memory (Qdrant collection)
classifiersManage ML classifier models — list, download, status
sessionsManage ACP session history — list, show, delete (requires acp feature)
scheduleManage cron-based scheduled jobs — list, add, remove, show (requires scheduler feature; see Scheduler)
dbDatabase management — run migrations, check status (see Database Abstraction)
migrate-configAdd missing config parameters as commented-out blocks and reformat the file (see Migrate Config)

When no subcommand is given, Zeph starts the agent loop.

zeph db

Manage database schema migrations.

SubcommandDescription
db migrateApply pending database migrations
db migrate --statusShow migration status without applying changes
zeph db migrate                    # apply pending migrations
zeph db migrate --status           # check what would be applied

zeph init

Generate a config.toml through a guided wizard.

zeph init                          # write to ./config.toml (default)
zeph init --output ~/.zeph/config.toml  # specify output path

Options:

FlagShortDescription
--output <PATH>-oOutput path for the generated config file

zeph skill

Manage external skills. Installed skills are stored in ~/.config/zeph/skills/.

SubcommandDescription
skill install <url|path>Install a skill from a git URL or local directory path
skill remove <name>Remove an installed skill by name
skill listList installed skills with trust level and source metadata
skill verify [name]Verify BLAKE3 integrity of one or all installed skills
skill trust <name> [level]Show or set trust level (trusted, verified, quarantined, blocked)
skill block <name>Block a skill (deny all tool access)
skill unblock <name>Unblock a skill (revert to quarantined)
# Install from git
zeph skill install https://github.com/user/zeph-skill-example.git

# Install from local path
zeph skill install /path/to/my-skill

# List installed skills
zeph skill list

# Verify integrity and promote trust
zeph skill verify my-skill
zeph skill trust my-skill trusted

# Remove a skill
zeph skill remove my-skill

zeph memory

Manage conversation history and advanced memory subsystems.

SubcommandDescription
memory export <path>Export all conversations, messages, and summaries to a JSON file
memory import <path>Import a snapshot file into the local database (duplicates are skipped)
memory trajectoryList trajectory memory entries (procedural and episodic) for the current conversation (requires [memory.trajectory] enabled = true)
memory treeShow TiMem memory tree nodes and consolidation statistics (requires [memory.tree] enabled = true)
# Back up all conversation data
zeph memory export backup.json

# Restore on another machine
zeph memory import backup.json

# Inspect trajectory entries
zeph memory trajectory

# Inspect memory tree state
zeph memory tree

The snapshot format is versioned (currently v1). Import uses INSERT OR IGNORE — re-importing the same file is safe and skips existing records.

zeph agents

Manage sub-agent definition files. See Managing Definitions for examples and field details.

SubcommandDescription
agents listList all loaded definitions with scope, model, and description
agents show <name>Print details for a single definition
agents create <name> -d <desc>Create a new definition stub in .zeph/agents/
agents edit <name>Open the definition in $VISUAL / $EDITOR and re-validate on save
agents delete <name>Delete a definition file (prompts for confirmation)
# List all definitions (project and user scope)
zeph agents list

# Inspect a single definition
zeph agents show code-reviewer

# Create a project-scoped definition
zeph agents create reviewer --description "Code review helper"

# Create a user-scoped (global) definition
zeph agents create helper --description "General helper" --dir ~/.config/zeph/agents/

# Edit with $EDITOR
zeph agents edit reviewer

# Delete without confirmation prompt
zeph agents delete reviewer --yes

zeph vault

Manage age-encrypted secrets without manual age CLI invocations.

SubcommandDescription
vault initGenerate an age keypair and empty encrypted vault
vault set <KEY> <VALUE>Encrypt and store a secret
vault get <KEY>Decrypt and print a secret value
vault listList stored secret keys (values are not printed)
vault rm <KEY>Remove a secret from the vault

Default paths (created by vault init):

  • Key file: ~/.config/zeph/vault-key.txt
  • Vault file: ~/.config/zeph/secrets.age

Override with --vault-key and --vault-path global flags.

zeph vault init
zeph vault set ZEPH_CLAUDE_API_KEY sk-ant-...
zeph vault set ZEPH_TELEGRAM_TOKEN 123:ABC
zeph vault list
zeph vault get ZEPH_CLAUDE_API_KEY
zeph vault rm ZEPH_TELEGRAM_TOKEN

zeph migrate-config

Update an existing config file with all parameters added since it was last generated. Missing sections are appended as commented-out blocks with documentation. Existing values are never modified.

FlagShortDescription
--config <PATH>-cPath to the config file (defaults to standard search path)
--in-placeWrite result back to the same file atomically
--diffPrint a unified diff to stdout instead of the full file
# Preview what would be added
zeph migrate-config --config config.toml --diff

# Apply in place
zeph migrate-config --config config.toml --in-place

# Print migrated config to stdout
zeph migrate-config --config config.toml

See Migrate Config for a full walkthrough.

zeph router

Inspect or reset the Thompson Sampling router state file.

SubcommandDescription
router statsShow alpha/beta and mean success rate per provider
router resetDelete the state file (resets to uniform priors)

Both subcommands accept --state-path <PATH> to override the default location (~/.zeph/router_thompson_state.json).

zeph router stats
zeph router reset
zeph router stats --state-path /custom/path.json

zeph schedule

Manage cron-based scheduled jobs from the command line. Requires the scheduler feature. All commands read the same SQLite database used by the running agent.

SubcommandDescription
schedule listList all active scheduled jobs with NAME, KIND, MODE, NEXT RUN, and CRON columns
schedule add <CRON> <PROMPT>Add a new periodic job with a cron expression and task prompt
schedule remove <NAME>Remove a scheduled job by name
schedule show <NAME>Show full details for a single job
# List all scheduled jobs
zeph schedule list

# Add a daily cleanup job at 03:00 UTC
zeph schedule add "0 3 * * *" "run memory cleanup"

# Add with an explicit name and task kind
zeph schedule add "0 3 * * *" "run memory cleanup" --name daily-cleanup --kind memory_cleanup

# Show details of a job
zeph schedule show daily-cleanup

# Remove a job
zeph schedule remove daily-cleanup

schedule add options:

FlagDescription
--name <NAME>Job name (auto-generated from prompt hash if omitted)
--kind <KIND>Task kind string (default: custom)

See Scheduler for the full list of built-in task kinds, cron expression formats, and how jobs are persisted.

zeph ingest

Ingest a document or directory of documents into semantic memory. Chunks the content and stores embeddings in the configured Qdrant collection.

# Ingest a single file
zeph ingest path/to/doc.md

# Ingest a directory with custom chunk settings
zeph ingest ./docs --chunk-size 500 --chunk-overlap 50 --collection my_docs
FlagDefaultDescription
--chunk-size <N>1000Chunk size in characters
--chunk-overlap <N>100Overlap between adjacent chunks in characters
--collection <NAME>zeph_documentsTarget Qdrant collection name

zeph classifiers

Manage ML classifier model weights. Requires the classifiers feature.

SubcommandDescription
classifiers downloadPre-download configured model weights to the HuggingFace Hub cache
# Download all configured classifier models
zeph classifiers download

# Download only the prompt-injection classifier
zeph classifiers download --model injection

# Download a specific HuggingFace repo
zeph classifiers download --repo protectai/deberta-v3-base-prompt-injection-v2

# Increase download timeout (default: 600 seconds)
zeph classifiers download --timeout-secs 1200

classifiers download options:

FlagDefaultDescription
--model <TYPE>allWhich model to download: injection, pii, or all
--repo <REPO_ID>from configHuggingFace repo ID override
--timeout-secs <N>600Download timeout in seconds

Model files are cached in ~/.cache/huggingface/hub/. Run this before starting the agent to avoid slow first-inference downloads.

zeph sessions

Manage ACP session history. Requires the acp feature.

SubcommandDescription
sessions listList recent ACP sessions with ID, timestamp, and turn count
sessions resume <ID>Print all events from a past session to stdout
sessions delete <ID>Delete a session and its events from the database
zeph sessions list
zeph sessions resume abc123
zeph sessions delete abc123

Interactive Commands

The following /-prefixed commands are available during an interactive session:

/agent

Manage sub-agents. See Sub-Agent Orchestration for details.

SubcommandDescription
/agent listShow available sub-agent definitions
/agent spawn <name> <prompt>Start a sub-agent with a task
/agent bg <name> <prompt>Alias for spawn
/agent statusShow active sub-agents with state and progress
/agent cancel <id>Cancel a running sub-agent (accepts ID prefix)
/agent resume <id> <prompt>Resume a completed sub-agent from its transcript
/agent approve <id>Approve a pending secret request
/agent deny <id>Deny a pending secret request
> /agent list
> /agent spawn code-reviewer Review the auth module
> /agent status
> /agent cancel a1b2
> /agent resume a1b2 Fix the remaining warnings
> @code-reviewer Review the auth module   # shorthand for /agent spawn

/lsp

Show LSP context injection status. Requires the lsp-context feature and mcpls configured under [[mcp.servers]].

UsageDescription
/lspShow hook state, MCP server connection status, injection counts per hook type, and current turn token budget usage
> /lsp

/experiment

Manage experiment sessions. Requires the experiments feature. See Experiments for details.

SubcommandDescription
/experiment start [N]Start a new experiment session. Optional N overrides max_experiments for this run
/experiment stopCancel the running session (partial results are preserved)
/experiment statusShow progress of the current session
/experiment reportDisplay results from past sessions
/experiment bestShow the best accepted variation per parameter
> /experiment start
> /experiment start 50
> /experiment status
> /experiment stop
> /experiment report
> /experiment best

/log

Display the current file logging configuration and recent log entries.

UsageDescription
/logShow log file path, level, rotation, max files, and the last 20 lines
> /log

See Logging for configuration details.

/migrate-config

Show a diff of config changes that migrate-config would apply. Opens the command palette entry config:migrate.

UsageDescription
/migrate-configDisplay the migration diff as a system message
> /migrate-config

To apply changes, use the CLI: zeph migrate-config --config <path> --in-place.

See Migrate Config for details.

/new

Reset the current conversation while preserving session state (provider, skills, memory backend). Starts a fresh conversation with a new conversation ID without restarting the agent.

> /new

This is useful when you want to change topics without carrying over stale context from a long session.

/debug-dump

Enable debug dump mid-session without restarting.

UsageDescription
/debug-dumpEnable dump using the configured debug.output_dir
/debug-dump <PATH>Enable dump writing to a custom directory
> /debug-dump
> /debug-dump /tmp/my-session-debug

See Debug Dump for the file layout and how to read dumps.

Global Options

FlagDescription
--tuiRun with the TUI dashboard (requires the tui feature)
--daemonRun as headless background agent with A2A endpoint (requires a2a feature). See Daemon Mode
--acpRun as ACP server over stdio for IDE embedding (requires acp feature)
--acp-manifestPrint ACP agent manifest JSON to stdout and exit (requires acp feature)
--acp-httpRun as ACP server over HTTP+SSE and WebSocket (requires acp-http feature)
--acp-http-bind <ADDR>Bind address for the ACP HTTP server (requires acp-http feature)
--acp-auth-token <TOKEN>Bearer token for ACP HTTP/WebSocket auth, overrides acp.auth_token (requires acp-http feature)
--connect <URL>Connect TUI to a remote daemon via A2A SSE streaming (requires tui + a2a features). See Daemon Mode
--config <PATH>Path to a TOML config file (overrides ZEPH_CONFIG env var)
--vault <BACKEND>Secrets backend: env or age (overrides ZEPH_VAULT_BACKEND env var)
--vault-key <PATH>Path to age identity (private key) file (default: ~/.config/zeph/vault-key.txt, overrides ZEPH_VAULT_KEY env var)
--vault-path <PATH>Path to age-encrypted secrets file (default: ~/.config/zeph/secrets.age, overrides ZEPH_VAULT_PATH env var)
--thinking <MODE>Enable Claude thinking mode: extended:<budget>, adaptive, or adaptive:<effort> (low/medium/high). Overrides config. Example: --thinking extended:10000
--guardrailEnable LLM-based guardrail (prompt injection pre-screening). Overrides security.guardrail.enabled
--graph-memoryEnable graph-based knowledge memory for this session, overriding memory.graph.enabled. See Graph Memory
--compression-guidelinesEnable ACON failure-driven compression guidelines for this session, overriding memory.compression_guidelines.enabled. Requires compression-guidelines feature at compile time; silently ignored otherwise. See Memory
--lsp-contextEnable automatic LSP context injection for this session, overriding agent.lsp.enabled. Injects diagnostics after file writes and hover info on reads. Requires mcpls MCP server and lsp-context feature. See LSP Code Intelligence
--focus / --no-focusEnable or disable Focus Agent for this session, overriding agent.focus.enabled
--sidequest / --no-sidequestEnable or disable SideQuest eviction for this session, overriding memory.sidequest.enabled
--pruning-strategy <STRATEGY>Override pruning strategy: reactive, task_aware, or mig. Overrides memory.compression.pruning_strategy
--server-compactionEnable Claude server-side context compaction (compact-2026-01-12 beta). Requires a Claude provider. Overrides llm.cloud.server_compaction
--extended-contextEnable Claude 1M extended context window. Tokens above 200K use long-context pricing. Requires a Claude provider. Overrides llm.cloud.enable_extended_context
--scan-skills-on-loadScan skill content for prompt injection patterns on load. Advisory only — logs warnings; does not block tool calls
--no-pre-execution-verifyDisable pre-execution verifiers for tool calls. Use in trusted environments when verifiers produce false positives
--policy-file <PATH>Path to external policy rules TOML file. Overrides tools.policy.policy_file
--dump-format <FORMAT>Override debug dump format: json, raw, or trace (OTel OTLP spans)
--scheduler-tick <SECS>Override scheduler tick interval in seconds (requires scheduler feature)
--scheduler-disableDisable the scheduler even if enabled in config (requires scheduler feature)
--experiment-runRun a single experiment session and exit (requires experiments feature). See Experiments
--experiment-reportPrint past experiment results summary and exit (requires experiments feature). See Experiments
--log-file <PATH>Override the log file path for this session. Set to empty string ("") to disable file logging. See Logging
--tafcEnable Think-Augmented Function Calling for this session, overriding tools.tafc.enabled. See Tools — TAFC
--debug-dump [PATH]Write LLM requests/responses and raw tool output to files. Omit PATH to use debug.output_dir from config (default: .zeph/debug). See Debug Dump
--versionPrint version and exit
--helpPrint help and exit

Examples

# Start the agent with defaults
zeph

# Start with a custom config
zeph --config ~/.zeph/config.toml

# Start with TUI dashboard
zeph --tui

# Start with age-encrypted secrets (default paths)
zeph --vault age

# Start with age-encrypted secrets (custom paths)
zeph --vault age --vault-key key.txt --vault-path secrets.age

# Initialize vault and store a secret
zeph vault init
zeph vault set ZEPH_CLAUDE_API_KEY sk-ant-...

# Generate a new config interactively
zeph init

# Start as headless daemon with A2A endpoint
zeph --daemon

# Connect TUI to a running daemon
zeph --connect http://localhost:3000