xynthis with no subcommand opens an interactive REPL on a fresh session. Every invocation accepts a global --llm <provider>/<model> flag (or the XYNTHIS_LLM_OVERRIDE env var) that forces a specific LLM target for that run without writing to config.toml.
Chat and sessions
chat
chat calls remember each other. --new starts a fresh session; --session <id> targets a specific one. --verbose prints raw tool-call output alongside the final answer. On macOS, chat launches the menu-bar app and a background daemon so the GUI shows live agent activity; --no-app (or XYNTHIS_NO_APP=1) runs headless.
resume
--id or --last, picks the most recent.
sessions
search
xynthis search index to build the FTS5 database; the index then auto-updates on ingest. --semantic switches to vector search through the brain’s index, which matches meaning rather than literal words and requires the brain to be running.
checkpoints
list [--session <id>] [--top-k 20] shows recent checkpoints; resume <id> "next message" continues from one; prune [--days 14] deletes old ones. The workspace-* subcommands manage filesystem snapshots taken before destructive tool calls: workspace-list, workspace-rollback <sha> [--paths ...] (whole tree, or just the listed files), workspace-snapshot [--label manual], and workspace-diff <sha>.
watch
Memory
ask
--threshold carry a low-confidence warning suggesting xynthis chat instead.
recall
remember
ingest
messages [--since <hours>] [--limit N] [--db <path>] [--reset-cursor] reads iMessage history from ~/Library/Messages/chat.db (requires Full Disk Access for the xynthis binary). reminders [--reset-cursor] ingests every open Apple Reminder. calendar [--window-days 14] [--reset-cursor] ingests upcoming Apple Calendar events. Once ingested, ordinary recall finds the content.
status, kg-health, identity, health
confirm and why
confirm cryptographically attests that a recalled fact is correct: it signs the fact with the local Ed25519 identity at ~/.xynthis/bmc/identity.ed25519 and appends a row to the append-only Merkle log at ~/.xynthis/bmc/witness.log. Fact ids appear in recall responses. why prints the full audit trail for a confirmed fact (signed payload, Ed25519 signature, RFC-6962 inclusion proof), verifiable offline against the signer’s public key alone.
Corpus and code
corpus
add indexes a folder as a named collection (name defaults to the folder’s basename) and watches it for changes unless --no-watch is passed. update re-indexes one collection or all. context set attaches a plain-English description that travels with every recall hit from that collection; context check lists collections with no context set.
code
code:* triples into the brain’s knowledge graph. --replace wipes prior code-scan triples first. Defaults: 10,000 files, 50,000 triples.
Models and auth
models
login
anthropic, openai, ollama, groq, and so on).
auth
scan prints every LLM credential the scanner can detect on this machine (Codex and Claude OAuth sessions, local Ollama or LM Studio servers, env-var API keys) without modifying config. apply [--force] writes the findings into ~/.xynthis/config.toml and ~/.xynthis/auth.json, picking the highest-ranked available provider as active unless the current one still works.
doctor and config
Agent stores
These subcommands inspect the state the agent accumulates as it works.Automation
recipe
run <name> --param key=value executes one with parameters; new <name> scaffolds a YAML file at ~/.xynthis/recipes/<name>.yaml.
schedule
add <name> --cron "0 9 * * *" --recipe <recipe> [--param k=v] binds a cron expression to a recipe. run starts the scheduler loop in the foreground; wire it into launchd or a dedicated terminal for always-on scheduling.
Services
serve
127.0.0.1 only. See the HTTP API reference.
llm
status shows adapter/student training state and the active teacher. dream [--size small|medium|large] runs one full learning cycle (SFT + distillation + eval); it blocks until done, typically 1-5 minutes on CPU. generate "prompt" runs the trained student (requires a prior dream). eval prints a teacher-vs-student perplexity report. bitdelta-eval [--path <ckpt>] [--target adapter|student] runs the 1-bit quantization promotion gate on a checkpoint.
browser
open <url> navigates and also perceives the page into the brain. screenshot [--path P] [--full] captures the active tab. tabs lists open tabs. text [--max-chars 2000] extracts the visible body text.
tool
--help; intended for skill and tooling integration, not interactive use.