Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
Show 34 variants Tui { once: bool, reset_state: bool, asciicast: Option<PathBuf>, data_dir: Option<PathBuf>, inline: bool, ui_height: u16, anchor: String, record_macro: Option<PathBuf>, play_macro: Option<PathBuf>, refresh: bool, }, Index {
Show 14 fields full: bool, force_rebuild: bool, watch: bool, watch_once: Option<Vec<PathBuf>>, watch_interval: u64, semantic: bool, build_hnsw: bool, embedder: String, data_dir: Option<PathBuf>, json: bool, idempotency_key: Option<String>, progress_interval_ms: u64, no_progress_events: bool, robot_trace_ingest: bool,
}, Completions { shell: Shell, }, Man, RobotDocs { topic: RobotTopic, }, Search {
Show 38 fields query: String, agent: Vec<String>, workspace: Vec<String>, limit: usize, offset: usize, json: bool, robot_meta: bool, fields: Option<Vec<String>>, max_content_length: Option<usize>, max_tokens: Option<usize>, request_id: Option<String>, cursor: Option<String>, display: Option<DisplayFormat>, data_dir: Option<PathBuf>, days: Option<u32>, today: bool, yesterday: bool, week: bool, since: Option<String>, until: Option<String>, aggregate: Option<Vec<String>>, explain: bool, dry_run: bool, timeout: Option<u64>, highlight: bool, source: Option<String>, sessions_from: Option<String>, mode: Option<SearchMode>, approximate: bool, model: Option<String>, rerank: bool, reranker: Option<String>, daemon: bool, no_daemon: bool, two_tier: bool, fast_only: bool, quality_only: bool, refresh: bool,
}, Pack {
Show 29 fields query: String, agent: Vec<String>, workspace: Vec<String>, limit: usize, json: bool, fields: Option<Vec<String>>, max_tokens: usize, max_sessions: usize, max_evidence: usize, context_lines: usize, max_excerpt_chars: usize, request_id: Option<String>, display: Option<DisplayFormat>, data_dir: Option<PathBuf>, days: Option<u32>, today: bool, yesterday: bool, week: bool, since: Option<String>, until: Option<String>, source: Option<String>, sessions_from: Option<String>, mode: Option<SearchMode>, freshness_policy: String, freshness_window_seconds: i64, require_evidence: bool, explain_selection: bool, refresh: bool, timeout: Option<u64>,
}, Stats { data_dir: Option<PathBuf>, json: bool, source: Option<String>, by_source: bool, }, Diag { data_dir: Option<PathBuf>, json: bool, quarantine: bool, verbose: bool, }, Status { data_dir: Option<PathBuf>, json: bool, robot_meta: bool, stale_threshold: u64, }, Capabilities { json: bool, }, Triage { data_dir: Option<PathBuf>, json: bool, stale_threshold: u64, }, State { data_dir: Option<PathBuf>, json: bool, robot_meta: bool, stale_threshold: u64, }, ApiVersion { json: bool, }, Introspect { json: bool, }, View { path: PathBuf, source: Option<String>, line: Option<usize>, context: usize, json: bool, }, Health { data_dir: Option<PathBuf>, json: bool, robot_meta: bool, stale_threshold: u64, }, Doctor {
Show 43 fields data_dir: Option<PathBuf>, json: bool, check: bool, fix: bool, repair: bool, cleanup: bool, archive_scan: bool, archive_normalize: bool, backups_list: bool, backups_verify: bool, backups_restore: bool, baseline_save: bool, baseline_diff: bool, baseline_update: bool, support_bundle: bool, support_bundle_verify: bool, archive_export: bool, archive_relocate: bool, archive_export_verify: bool, archive_target: Option<PathBuf>, backup_id: Option<String>, baseline_id: Option<String>, baseline_path: Option<PathBuf>, support_bundle_path: Option<PathBuf>, include_sensitive_attachments: bool, sensitive_attachment: Vec<PathBuf>, sensitive_attachment_max_bytes: u64, dry_run: bool, yes: bool, plan_fingerprint: Option<String>, verbose: bool, force_rebuild: bool, allow_repeated_repair: bool, ls: bool, undo: Option<String>, robot_triage: bool, diff: Option<String>, gc_before: Option<String>, watch: bool, watch_interval_ms: u64, watch_iterations: u64, explain: Option<String>, emit_capabilities: bool,
}, Context { path: PathBuf, source: Option<String>, data_dir: Option<PathBuf>, limit: usize, json: bool, }, Sessions { workspace: Option<PathBuf>, current: bool, limit: Option<usize>, json: bool, data_dir: Option<PathBuf>, }, Resume { path: PathBuf, agent: Option<String>, exec: bool, shell: bool, json: bool, }, Upgrade { check: bool, force: bool, yes: bool, json: bool, }, Export { path: PathBuf, source: Option<String>, format: ConvExportFormat, output: Option<PathBuf>, clipboard: bool, include_tools: bool, include_skills: bool, }, ExportHtml {
Show 15 fields session: PathBuf, source: Option<String>, output_dir: Option<PathBuf>, filename: Option<String>, encrypt: bool, password_stdin: bool, include_tools: bool, show_timestamps: bool, no_cdns: bool, include_skills: bool, theme: String, dry_run: bool, explain: bool, open: bool, json: bool,
}, Expand { path: PathBuf, source: Option<String>, line: usize, context: usize, json: bool, }, Timeline { since: Option<String>, until: Option<String>, today: bool, agent: Vec<String>, data_dir: Option<PathBuf>, json: bool, group_by: TimelineGrouping, source: Option<String>, }, Pages {
Show 27 fields export_only: Option<PathBuf>, verify: Option<PathBuf>, agents: Option<Vec<String>>, workspaces: Option<Vec<String>>, since: Option<String>, until: Option<String>, path_mode: PathMode, target: Option<PagesDeployTarget>, project: Option<String>, branch: Option<String>, account_id: Option<String>, api_token: Option<String>, dry_run: bool, scan_secrets: bool, fail_on_secrets: bool, secrets_allow: Vec<String>, secrets_deny: Vec<String>, json: bool, verbose: bool, no_encryption: bool, i_understand_unencrypted_risks: bool, preview: Option<PathBuf>, port: u16, no_open: bool, config: Option<String>, validate_config: bool, example_config: bool,
}, Mirror(MirrorCommand), Sources(SourcesCommand), Models(ModelsCommand), Swarm(SwarmCommand), Import(ImportCommand), Analytics(AnalyticsCommand), Daemon { socket: Option<PathBuf>, idle_timeout: Option<u64>, max_connections: Option<usize>, data_dir: Option<PathBuf>, },
}

Variants§

§

Tui

Launch interactive TUI

Fields

§once: bool

Render once and exit (headless-friendly)

§reset_state: bool

Delete persisted UI state (tui_state.json) before launch

§asciicast: Option<PathBuf>

Record terminal output to an asciicast v2 file; in non-interactive headless –once mode cass writes a labeled sentinel cast because no live TUI session is launched.

§data_dir: Option<PathBuf>

Override data dir (matches index –data-dir)

§inline: bool

Run in inline mode (UI anchored within terminal, scrollback preserved)

§ui_height: u16

Height of the inline UI in rows (default: 12, ignored without –inline)

§anchor: String

Anchor the inline UI to top or bottom of the terminal (default: bottom)

§record_macro: Option<PathBuf>

Record input events to a macro file for replay/debugging

§play_macro: Option<PathBuf>

Play back a previously recorded macro file

§refresh: bool

Run an incremental cass index pass before launching the TUI so new conversations created since the last index are searchable. No-op when the index is already current; indexing errors are logged and the TUI opens on the existing index (non-fatal).

§

Index

Run indexer

Fields

§full: bool

Perform full rebuild

§force_rebuild: bool

Force Tantivy index rebuild even if schema matches

§watch: bool

Watch for changes and reindex automatically

§watch_once: Option<Vec<PathBuf>>

Trigger a single watch cycle for specific paths (comma-separated or repeated)

§watch_interval: u64

Minimum seconds between watch scan cycles (default: 30). Prevents high CPU usage from tight-loop scanning when filesystem events arrive continuously.

§semantic: bool

Build semantic vector index after text indexing

§build_hnsw: bool

Build HNSW index for approximate nearest neighbor search (requires –semantic). Enables O(log n) search with --approximate flag at query time.

§embedder: String

Embedder to use for semantic indexing (hash, fastembed)

§data_dir: Option<PathBuf>

Override data dir (index + db). Defaults to platform data dir.

§json: bool

Output as JSON (for automation)

§idempotency_key: Option<String>

Idempotency key for safe retries. If the same key is used with identical parameters, the cached result is returned. Keys expire after 24 hours.

§progress_interval_ms: u64

Interval (ms) between NDJSON progress events emitted on stderr in –json/–robot mode. Clamped to [250, 60000]. Default 2000. Set –no-progress-events to disable.

§no_progress_events: bool

Suppress NDJSON progress events on stderr in –json/–robot mode. Also honored via CASS_INDEX_NO_PROGRESS_EVENTS=1 env var.

§robot_trace_ingest: bool

Emit per-ingest-batch NDJSON timing and lookup counters on stderr for perf bisection.

§

Completions

Generate shell completions to stdout

Fields

§shell: Shell
§

Man

Generate man page to stdout

§

RobotDocs

Machine-focused docs for automation agents

Fields

§topic: RobotTopic

Topic to print

§

Search

Run a one-off search and print results to stdout

Fields

§query: String

The query string

§agent: Vec<String>

Filter by agent slug (can be specified multiple times)

§workspace: Vec<String>

Filter by workspace path (can be specified multiple times)

§limit: usize

Max results. 0 = “no limit” but is auto-capped to a RAM-proportional ceiling (1/16 of MemAvailable, clamped to [256 MiB, 16 GiB] of result-heap) so a single query can’t tie up the whole machine. Override with CASS_SEARCH_NO_LIMIT_CAP= or CASS_SEARCH_NO_LIMIT_BYTES=.

§offset: usize

Offset for pagination (start at Nth result)

§json: bool

Output as JSON (–robot also works). Equivalent to –robot-format json

§robot_meta: bool

Include extended metadata in robot output (elapsed_ms, wildcard_fallback, cache_stats)

§fields: Option<Vec<String>>

Select specific fields in JSON output (comma-separated). Use ‘minimal’ for source_path,line_number,agent or ‘summary’ for source_path,line_number,agent,title,score. Example: –fields source_path,line_number

§max_content_length: Option<usize>

Truncate content/snippet fields to max N characters (UTF-8 safe, adds ‘…’ and _truncated indicator)

§max_tokens: Option<usize>

Soft token budget for robot output (approx; 4 chars ≈ 1 token). Adjusts truncation.

§request_id: Option<String>

Request ID to echo in robot _meta for correlation

§cursor: Option<String>

Cursor for pagination (base64-encoded offset/limit payload from previous result)

§display: Option<DisplayFormat>

Human-readable display format: table (aligned columns), lines (one-liner), markdown

§data_dir: Option<PathBuf>

Override data dir

§days: Option<u32>

Filter to last N days

§today: bool

Filter to today only

§yesterday: bool

Filter to yesterday only

§week: bool

Filter to last 7 days

§since: Option<String>

Filter to entries since ISO date (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS), keyword (today, yesterday, now), or relative offset (-7d, -24h, -30m, -1w). allow_hyphen_values lets the dash-prefixed forms pass clap without requiring the equals syntax (reality-check bead hr0z4).

§until: Option<String>

Filter to entries until ISO date / keyword / relative offset.

§aggregate: Option<Vec<String>>

Server-side aggregation by field(s). Comma-separated: agent,workspace,date,match_type Returns buckets with counts instead of full results. Use with –limit to get both.

§explain: bool

Include query explanation in output (shows parsed query, index strategy, cost estimate)

§dry_run: bool

Validate and analyze query without executing (returns explanation, estimated cost, warnings)

§timeout: Option<u64>

Timeout in milliseconds. Returns partial results and error if exceeded.

§highlight: bool

Highlight matching terms in output (uses bold markers in text, in HTML)

§source: Option<String>

Filter by source: ‘local’, ‘remote’, ‘all’, or a specific source hostname

§sessions_from: Option<String>

Filter to sessions from file (one path per line). Use ‘-’ for stdin. Enables chained searches: cass search "query1" --robot-format sessions | cass search "query2" --sessions-from -

§mode: Option<SearchMode>

Search mode: hybrid-preferred (default), lexical, or semantic

§approximate: bool

Use approximate nearest neighbor (ANN) search with HNSW for faster semantic/hybrid queries. Trades slight accuracy loss for O(log n) search complexity instead of O(n). Only affects semantic and hybrid modes; ignored for lexical search. Requires an HNSW index built with cass index --semantic --approximate.

§model: Option<String>

Embedding model to use for semantic search. Available models depend on what’s been downloaded. Use cass models --list to see available options.

§rerank: bool

Enable reranking of search results for improved relevance. Requires a reranker model to be available.

§reranker: Option<String>

Reranker model to use (requires –rerank). Use cass models --list to see available options.

§daemon: bool

Use daemon for warm model inference (faster repeated queries). If daemon is unavailable, falls back to direct inference.

§no_daemon: bool

Disable daemon usage even if available (force direct inference).

§two_tier: bool

Enable two-tier progressive search: fast results immediately, refined via daemon. Returns initial results from fast embedder (~1ms), then refines with quality embedder via daemon (~130ms). Best of both worlds for interactive search.

§fast_only: bool

Fast-only search: use lightweight embedder for instant results, no refinement. Ideal for real-time search-as-you-type scenarios where latency is critical.

§quality_only: bool

Quality-only search: wait for full transformer model results. Higher latency (~130ms) but most accurate semantic matching. Requires daemon to be available; falls back to fast if unavailable.

§refresh: bool

Run an incremental cass index pass before the search so new conversations created since the last index are matched. No-op when the index is already current; indexing errors are logged and the search runs against the existing index (non-fatal).

§

Pack

Build a deterministic answer pack for agent handoffs

Fields

§query: String

The query string

§agent: Vec<String>

Filter by agent slug (can be specified multiple times)

§workspace: Vec<String>

Filter by workspace path (can be specified multiple times)

§limit: usize

Max candidate hits to fetch before answer-pack planning. 0 uses the planner default.

§json: bool

Output as JSON (–robot also works). Equivalent to –robot-format json.

§fields: Option<Vec<String>>

Select answer-pack top-level fields. Presets: minimal, summary, all.

§max_tokens: usize

Soft pack token budget.

§max_sessions: usize

Maximum distinct sessions represented in the pack.

§max_evidence: usize

Maximum evidence items selected into the pack.

§context_lines: usize

Context lines requested around evidence hits.

§max_excerpt_chars: usize

Maximum excerpt characters per evidence item.

§request_id: Option<String>

Request ID to echo in pack metadata.

§display: Option<DisplayFormat>

Human-readable display format. Only markdown is supported for pack.

§data_dir: Option<PathBuf>

Override data dir

§days: Option<u32>

Filter to last N days

§today: bool

Filter to today only

§yesterday: bool

Filter to yesterday only

§week: bool

Filter to last 7 days

§since: Option<String>

Filter to entries since ISO date (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS).

§until: Option<String>

Filter to entries until ISO date / keyword / relative offset.

§source: Option<String>

Filter by source: ‘local’, ‘remote’, ‘all’, or a specific source hostname.

§sessions_from: Option<String>

Filter to sessions from file (one path per line). Use ‘-’ for stdin.

§mode: Option<SearchMode>

Search mode: hybrid-preferred (default), lexical, or semantic.

§freshness_policy: String

Freshness policy for evidence selection.

§freshness_window_seconds: i64

Evidence freshness window in seconds.

§require_evidence: bool

Return an error instead of an empty successful pack.

§explain_selection: bool

Include selection score component details in evidence.

§refresh: bool

Run an incremental cass index pass before packing.

§timeout: Option<u64>

Timeout in milliseconds.

§

Stats

Show statistics about indexed data

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (--robot also works)

§source: Option<String>

Filter by source: ‘local’, ‘remote’, ‘all’, or a specific source hostname

§by_source: bool

Show breakdown by source

§

Diag

Output diagnostic information for troubleshooting

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (--robot also works)

§quarantine: bool

Include quarantine and retained-asset inspection details

§verbose: bool

Include verbose information (file sizes, timestamps)

§

Status

Quick health check for agents: index freshness, db stats, recommended action

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (--robot also works)

§robot_meta: bool

Include _meta block (elapsed, freshness, data_dir/db_path)

§stale_threshold: u64

Staleness threshold in seconds (default: 1800 = 30 minutes)

§

Capabilities

First-stop agent self-description: workflows, mistake recoveries, commands, flags, env vars, exit codes, and limits

Fields

§json: bool

Output as JSON (--robot also works)

§

Triage

One-shot agent triage: readiness, next command, workflows, docs, and schemas

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (--robot also works)

§stale_threshold: u64

Staleness threshold in seconds (default: 300)

§

State

Quick state/health check (alias of status)

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (--robot also works)

§robot_meta: bool

Include _meta block (elapsed, freshness, data_dir/db_path)

§stale_threshold: u64

Staleness threshold in seconds (default: 1800 = 30 minutes)

§

ApiVersion

Show API + contract version info

Fields

§json: bool

Output as JSON (--robot also works)

§

Introspect

Full API schema introspection - commands, arguments, and response schemas

Fields

§json: bool

Output as JSON (--robot also works)

§

View

View a source file at a specific line (follow up on search results)

Fields

§path: PathBuf

Path to the source file

§source: Option<String>

Exact source_id from search output (e.g. ‘local’, ‘work-laptop’)

§line: Option<usize>

Line number to show (1-indexed)

§context: usize

Number of context lines before/after

§json: bool

Output as JSON (--robot also works)

§

Health

Minimal health check (<50ms). Exit 0=healthy, 1=unhealthy. For agent pre-flight checks.

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON ({"healthy": bool, "latency_ms": N})

§robot_meta: bool

Include _meta block (elapsed, freshness, data_dir/db_path)

§stale_threshold: u64

Staleness threshold in seconds (default: 300)

§

Doctor

Diagnose cass installation issues. Legacy cass doctor --json maps to the read-only check surface. Legacy --fix maps to safe-auto-run and may only apply contract-declared safe repairs.

Fields

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (--robot also works)

§check: bool

Run the bounded read-only doctor truth surface (cass doctor check --json)

§fix: bool

Legacy safe auto-run: apply only contract-declared safe repairs, preserving archive/source evidence.

§repair: bool

Hidden normalized form for cass doctor repair ....

§cleanup: bool

Hidden normalized form for cass doctor cleanup ....

§archive_scan: bool

Hidden normalized form for cass doctor archive-scan ....

§archive_normalize: bool

Hidden normalized form for cass doctor archive-normalize ....

§backups_list: bool

Hidden normalized form for cass doctor backups list ....

§backups_verify: bool

Hidden normalized form for cass doctor backups verify ....

§backups_restore: bool

Hidden normalized form for cass doctor backups restore ....

§baseline_save: bool

Hidden normalized form for cass doctor baseline save ....

§baseline_diff: bool

Hidden normalized form for cass doctor baseline diff ....

§baseline_update: bool

Hidden normalized form for cass doctor baseline update ....

§support_bundle: bool

Hidden normalized form for cass doctor support-bundle ....

§support_bundle_verify: bool

Hidden normalized form for cass doctor support-bundle verify ....

§archive_export: bool

Hidden normalized form for cass doctor archive export ....

§archive_relocate: bool

Hidden normalized form for cass doctor archive relocate ....

§archive_export_verify: bool

Hidden normalized form for cass doctor archive export verify ....

§archive_target: Option<PathBuf>

Target directory for cass doctor archive export|relocate.

§backup_id: Option<String>

Backup id from cass doctor backups list --json.

§baseline_id: Option<String>

Baseline id from cass doctor baseline save|diff <id>.

§baseline_path: Option<PathBuf>

Explicit baseline file path for save/diff/update.

§support_bundle_path: Option<PathBuf>

Explicit support bundle directory or manifest path for verify.

§include_sensitive_attachments: bool

Include explicitly provided sensitive attachments in the support bundle.

§sensitive_attachment: Vec<PathBuf>

Sensitive attachment path for cass doctor support-bundle --include-sensitive-attachments.

§sensitive_attachment_max_bytes: u64

Maximum total sensitive attachment bytes copied into a support bundle.

§dry_run: bool

Preview a fingerprinted repair plan without mutating any cass files.

§yes: bool

Confirm a previously inspected fingerprinted repair plan.

§plan_fingerprint: Option<String>

Plan fingerprint from cass doctor repair --dry-run --json.

§verbose: bool

Run all checks verbosely (show passed checks too)

§force_rebuild: bool

Request a derived rebuild; never bypasses archive coverage gates or plan fingerprints.

§allow_repeated_repair: bool

Permit a mutating repair even when a previous failure marker exists

§ls: bool

List per-run artifact directories under <data_dir>/doctor/runs/. Read-only. Output is JSON when combined with --json/--robot. Returns the run-id, started/ended timestamps, mode, exit_code, action_count and status (completed|incomplete|unknown) per run, newest-first.

§undo: Option<String>

Undo the named run by id (or latest). Walks <run-dir>/actions.jsonl in reverse, verifies hashes, and restores byte-identically from the per-run backups. Refuses on any post-mutation tampering. The undo itself produces a fresh run-id.

§robot_triage: bool

Mega-command for agents: returns one envelope with summary, findings, actions_planned, recommended_command, capabilities_url. Read-only; composes the existing read-only doctor check with planning hints.

§diff: Option<String>

Show what --fix would change vs the current state. Read-only. Optional <REF> compares against a prior run-id instead.

§gc_before: Option<String>

Quarantine doctor runs older than <ISO8601>. Renames into <data_dir>/doctor/quarantine/runs/; never deletes. Requires both --gc-before AND --yes (per the destructive-action gate).

§watch: bool

World-class-doctor pass-6: long-running monitor mode. Periodically re-reads <data_dir>/doctor/runs/ and emits one JSONL event per observed change to stdout. Stops on Ctrl+C or after --watch-iterations.

§watch_interval_ms: u64

World-class-doctor pass-6: poll interval for --watch. Default 5000 ms. Bounded to [500, 60000].

§watch_iterations: u64

World-class-doctor pass-6: stop after this many polls. 0 = run forever (until SIGINT). Useful in tests + bounded automation.

§explain: Option<String>

World-class-doctor pass-8: explain a prior run by id (or latest). Returns a single envelope with the run’s manifest, every action recorded, and a flattened band timeline. Read-only.

§emit_capabilities: bool

World-class-doctor pass-8: emit the doctor’s extended capability surface — detectors[], fixers[], exit_codes[], data_paths[], env_vars[] — in one envelope. Read-only.

§

Context

Find related sessions for a given source path

Fields

§path: PathBuf

Path to the source session file

§source: Option<String>

Exact source_id from search output (e.g. ‘local’, ‘work-laptop’)

§data_dir: Option<PathBuf>

Override data dir

§limit: usize

Maximum results per relation type (default: 5)

§json: bool

Output as JSON (--robot also works)

§

Sessions

List recent sessions, with optional workspace/current-session filtering

Fields

§workspace: Option<PathBuf>

Filter to sessions for this workspace/project directory

§current: bool

Resolve the current workspace automatically and return the most recent match

§limit: Option<usize>

Maximum sessions to return (defaults: 10, or 1 with –current)

§json: bool

Output as JSON (for automation)

§data_dir: Option<PathBuf>

Override data dir

§

Resume

Resolve a session path into a ready-to-run resume command for its native harness (Claude Code, Codex, OpenCode, pi_agent, Gemini).

By default, the resolved command is printed to stdout, one argv token per line, so the caller can wrap it however they like:

eval “$(cass resume /path/to/session.jsonl –shell)” $(cass resume /path/to/session.jsonl –shell) # direct exec

Use --exec to have cass exec the command directly, replacing the current process.

Fields

§path: PathBuf

Session file path (as printed by cass search or cass sessions)

§agent: Option<String>

Override the detected harness (see --help for accepted values).

§exec: bool

Replace the current process with the resolved resume command. Mutually exclusive with --shell and --json.

§shell: bool

Emit a single shell-escaped command line on stdout (suitable for eval "$(cass resume ...)"). Mutually exclusive with --json.

§json: bool

Output as JSON (for automation)

§

Upgrade

Check for a newer cass release and (optionally) install it.

Without flags, prompts y/N before running the same checksum- verified installer the TUI uses. Useful in headless environments where cass tui would never fire its own update prompt.

Examples:

cass upgrade # interactive prompt cass upgrade –check # print versions, exit non-zero if outdated cass upgrade –yes # install without asking cass upgrade –force –check # skip the 1-hour cadence

Fields

§check: bool

Print current vs latest version and exit. No install. Exits 0 when up to date, 1 when an update is available.

§force: bool

Bypass the 1-hour update-check cadence and re-fetch the GitHub release API immediately. Combine with --check to refresh status without installing.

§yes: bool

Skip the interactive prompt and run the installer immediately. Suitable for scripts; mutually exclusive with --check.

§json: bool

Output as JSON (for automation). Combines naturally with --check; ignored when an install actually runs because the installer execs over the current process.

§

Export

Export a conversation to markdown or other formats

Fields

§path: PathBuf

Path to session file

§source: Option<String>

Exact source_id from search output (e.g. ‘local’, ‘work-laptop’)

§format: ConvExportFormat

Output format

§output: Option<PathBuf>

Output file (stdout if not specified)

§clipboard: bool

Copy the formatted export to the system clipboard instead of printing to stdout. Falls back to stdout with a stderr warning when no clipboard tool is available (e.g. headless / SSH).

§include_tools: bool

Include tool use details in export

§include_skills: bool

Include skill content in export (default: stripped for privacy)

§

ExportHtml

Export session as beautiful, self-contained HTML (with optional encryption)

Fields

§session: PathBuf

Path to session file

§source: Option<String>

Exact source_id from search output (e.g. ‘local’, ‘work-laptop’)

§output_dir: Option<PathBuf>

Output directory (default: current directory)

§filename: Option<String>

Custom filename (default: auto-generated from session metadata)

§encrypt: bool

Enable password encryption (Web Crypto compatible)

§password_stdin: bool

Read password from stdin (secure, no echo)

§include_tools: bool

Include tool calls in export (default: true)

§show_timestamps: bool

Show message timestamps

§no_cdns: bool

Disable CDN references (fully offline, larger file)

§include_skills: bool

Include skill content in export (default: stripped for privacy). Skills injected by Claude Code/Codex contain proprietary SKILL.md content that should not appear in shared/published exports.

§theme: String

Default theme (dark or light)

§dry_run: bool

Validate without writing file

§explain: bool

Show export plan without executing

§open: bool

Open file in browser after export

§json: bool

JSON output (for automation)

§

Expand

Show messages around a specific line in a session file

Fields

§path: PathBuf

Path to session file

§source: Option<String>

Exact source_id from search output (e.g. ‘local’, ‘work-laptop’)

§line: usize

Line number to show context around

§context: usize

Number of messages before/after (default: 3)

§json: bool

Output as JSON (--robot also works)

§

Timeline

Show activity timeline for a time range

Fields

§since: Option<String>

Start time (ISO date, ‘today’, ‘yesterday’, ‘Nd’ for N days ago, or relative -7d/-24h/-30m/-1w). allow_hyphen_values lets dash-prefixed offsets pass clap (reality-check bead hr0z4).

§until: Option<String>

End time (ISO date, keyword, or relative offset).

§today: bool

Show today only

§agent: Vec<String>

Filter by agent (can be repeated)

§data_dir: Option<PathBuf>

Override data dir

§json: bool

Output as JSON (–robot also works). Equivalent to –robot-format json

§group_by: TimelineGrouping

Group by: hour, day, or none

§source: Option<String>

Filter by source: ‘local’, ‘remote’, ‘all’, or a specific source hostname

§

Pages

Export encrypted searchable archive for static hosting (P4.x)

Fields

§export_only: Option<PathBuf>

Export only (skip wizard and encryption) to specified directory

§verify: Option<PathBuf>

Verify an existing export bundle (for CI/CD)

§agents: Option<Vec<String>>

Filter by agent (comma-separated)

§workspaces: Option<Vec<String>>

Filter by workspace (comma-separated)

§since: Option<String>

Filter entries since ISO date, keyword, or relative offset (-7d, -1w, etc.). allow_hyphen_values lets dash-prefixed values pass clap (reality-check bead hr0z4).

§until: Option<String>

Filter entries until ISO date, keyword, or relative offset.

§path_mode: PathMode

Path mode: relative (default), basename, full, hash

§target: Option<PagesDeployTarget>

Deployment target: local, github, cloudflare

§project: Option<String>

Cloudflare project name (also used for GitHub repo name)

§branch: Option<String>

Cloudflare production branch (default: main)

§account_id: Option<String>

Cloudflare account ID (or CLOUDFLARE_ACCOUNT_ID env)

§api_token: Option<String>

Cloudflare API token (or CLOUDFLARE_API_TOKEN env)

§dry_run: bool

Dry run (don’t write files)

§scan_secrets: bool

Scan for secrets and exit (no export)

§fail_on_secrets: bool

Fail with non-zero exit if secrets are detected (for CI)

§secrets_allow: Vec<String>

Allowlist regex patterns to suppress findings (repeatable or comma-separated)

§secrets_deny: Vec<String>

Denylist regex patterns to force findings (repeatable or comma-separated)

§json: bool

Output results as JSON (for verify and secret scan)

§verbose: bool

Verbose output (show detailed check results)

§no_encryption: bool

Export without encryption (DANGEROUS - all content publicly readable)

§i_understand_unencrypted_risks: bool

Acknowledge unencrypted export risks (required in robot/JSON mode with –no-encryption)

§preview: Option<PathBuf>

Preview an existing export locally (starts HTTP server)

§port: u16

Port for preview server (default: 8080)

§no_open: bool

Don’t auto-open browser when starting preview server

§config: Option<String>

JSON config file for non-interactive export (use “-” for stdin)

§validate_config: bool

Validate config file without running export

§example_config: bool

Show example config file

§

Mirror(MirrorCommand)

Inspect and prune raw-mirror evidence under explicit operator control

§

Sources(SourcesCommand)

Manage remote sources (P5.x)

§

Models(ModelsCommand)

Manage semantic search models

§

Swarm(SwarmCommand)

Read-only swarm operations status

§

Import(ImportCommand)

Import data from external sources

§

Analytics(AnalyticsCommand)

Token usage, tool, and model analytics

Subcommands: status, tokens, tools, models, rebuild, validate. All subcommands share time-range, dimensional, and output flags.

§Examples

cass analytics status --json
cass analytics tokens --days 7 --group-by day --json
cass analytics rebuild --json
§

Daemon

Run the semantic model daemon (Unix only)

Fields

§socket: Option<PathBuf>

Socket path to listen on (default comes from env or built-in config)

§idle_timeout: Option<u64>

Idle timeout in seconds before auto-shutdown (0 = never; default comes from env or built-in config)

§max_connections: Option<usize>

Maximum concurrent connections (default comes from env or built-in config)

§data_dir: Option<PathBuf>

Override data dir for model storage

Trait Implementations§

Source§

impl Clone for Commands

Source§

fn clone(&self) -> Commands

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Commands

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, _span: NoopSpan) -> Self

Instruments this future with a span (no-op when disabled).
Source§

fn in_current_span(self) -> Self

Instruments this future with the current span (no-op when disabled).
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Fruit for T
where T: Send + Downcast,