Skip to main content Crate synaps_cli Copy item path Source auth OAuth 2.0 Authorization Code + PKCE flow for Anthropic (Claude Pro/Max). chain Chain pointer management — named bookmarks that auto-advance on compaction. config core Core infrastructure — config, session, auth, logging, error types, protocol. engine Engine — shared business logic for both TUI and headless modes. error events Event Bus — universal message ingestion for agent sessions. extensions Extension system for SynapsCLI. help logging mcp MCP (Model Context Protocol) integration — JSON-RPC client, tool bridging, lazy loading. memory Local-first memory store. models Curated list of Claude models known to work with this CLI.
Centralized so the settings dropdown, defaults, and subagent hints agree. pricing Centralised pricing logic for Anthropic models. protocol runtime session sidecar Sidecar plugin support: long-running plugin processes that stream
events into the host over a JSONL line protocol. skills Skills and plugins subsystem. toast Public toast notification primitives for extensions and host UIs. tools Tool system — trait, registry, and built-in tool implementations. tui Chat TUI binary — event loop, terminal setup, module wiring. watcher_types AgentConfig Agent configuration parsed from config.toml AgentStatusInfo Runtime info for a single agent (for status display) CancellationToken A token which can be used to signal a cancellation request to one or more
tasks. HandoffState What the agent writes for its next self Runtime The core runtime — manages API communication, tool execution, authentication,
and streaming for all SynapsCLI binaries (chat, chatui, server, agent, watcher). Session SessionInfo Lightweight info for listing sessions without loading full message history SessionLimits SessionStats Stats tracked per agent session SynapsConfig Parsed configuration from the config file. ToolContext Context passed to tool execution — composition of channels, capabilities, and limits. ToolRegistry Registry of available tools. Maintains a name→tool map and a cached JSON schema
array that gets sent to the API. Thread-safe via Arc<RwLock<ToolRegistry>>. AgentEvent ExitReason Why an agent session ended LlmEvent RuntimeError SessionEvent StreamEvent Top-level stream event — grouped into concern-specific sub-enums. Value Represents any valid JSON value. WatcherCommand Commands sent from CLI to supervisor WatcherResponse Responses from supervisor to CLI Tool The core trait for all tools. Implement this to add a new tool. epoch_millis Re-export epoch_millis from agent-core (moved there for the leaf crate split).
Current time as Unix epoch milliseconds. Panics only if system clock is before 1970. epoch_secs Current time as Unix epoch seconds. find_session Find a session by full or partial ID match find_session_by_name Find a session by its assigned name (not partial ID).
Iterates session headers one file at a time and returns on first match,
avoiding a full directory scan when the named session appears early. flush_stderr Flush stderr, ignoring errors (pipe closed, etc.) flush_stdout Flush stdout, ignoring errors (pipe closed, etc.) latest_session Load the most recently updated session list_recent_sessions The limit most-recently-modified sessions (by file mtime), most-recent
first. Sorts the directory entries by mtime WITHOUT parsing, then reads only
the top limit headers — so /sessions is O(limit) reads instead of
O(#sessions). mtime is an exact proxy for updated_at (the file is rewritten
on every save). list_sessions List all sessions, sorted by most recently updated. load_config Parse the config file at ~/.synaps-cli/config (or profile variant).
Returns default config if file doesn’t exist or can’t be read. resolve_session Resolve a query string to a Session. Resolution order: resolve_system_prompt Resolve the system prompt from CLI flag, config file, or default.
Priority: explicit value > ~/.synaps-cli/system.md > built-in default. truncate_str Re-export truncate_str from agent-core.
Truncate a string to at most max bytes at a valid UTF-8 boundary. validate_name Validate a session or chain name: [a-z0-9-]{1,40}. Result