Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.svantic.com/llms.txt

Use this file to discover all available pages before exploring further.

Interactive Mode

Interactive mode is the default when you run svantic with no subcommand. It starts a conversational REPL that connects to the Svantic mesh, registers as an A2A agent, and streams responses with full tool-call visibility.

Starting a Session

Run the CLI with credentials configured:
svantic
The terminal authenticates with the mesh, registers itself as an agent, initializes a session via the gateway, and presents a prompt. Override defaults at startup:
svantic --model gemini-2.5-pro --verbose

Connecting to the Mesh

The terminal authenticates automatically using SVANTIC_CLIENT_ID and SVANTIC_CLIENT_SECRET. These exchange for a JWT via the mesh auth endpoint. Using CLI flags instead of environment variables:
svantic --client-id my_id --client-secret my_secret
If credentials are missing, the terminal prints an error and exits. See Environment and Config for all auth options.

Sending Messages

Type at the prompt and press Enter. The terminal builds an A2A message, streams it to the backend, and renders the response as it arrives. Markdown is rendered inline. Multi-turn conversations are automatic — the session maintains full context across messages.

Tool Calls

When an agent invokes a tool, the terminal displays it in real time:
[tool] orchestrator -> zendesk_list_tickets({"status": "open"})
[result] orchestrator -> zendesk_list_tickets: [{...}]
Hidden internal tools are suppressed by default. Use --verbose or /verbose to see all tool call and result JSON.

Approvals

Some tools require user approval before execution. When requested, the terminal prompts with options:
  • Approve — allow this single invocation
  • Approve for session — allow all future calls to this tool in this session
  • Approve permanently — allow across all sessions
  • Deny — reject the invocation
Review active approvals with /approvals.

Session Management

Resume a session

svantic --session sess-abc123
Or during a session:
/load
/load sess-abc123

Reset a session

/reset
This creates a new session and clears conversation history.

Slash Commands

CommandDescription
/helpShow all available commands
/clearClear conversation history
/verboseToggle verbose mode (show/hide tool JSON)
/sessionShow current session ID
/loadLoad a previous session
/attachAttach file to next message
/uploadUpload a file as an artifact
/upload-folderUpload all files in a folder
/mcpManage MCP servers
/approvalsList tool approvals
/routesShow active instance routes
/resetStart a new session
/quitExit the terminal
Type @ to open a file picker and attach a file to your next message.

Verbose Mode

Enable verbose mode to see full JSON for tool calls, results, and thinking:
svantic --verbose
Or toggle during a session:
/verbose
Output on stderr:
[thinking] Analyzing the ticket data...
[tool] orchestrator -> zendesk_list_tickets({"status": "open", "limit": 10})
[result] orchestrator -> zendesk_list_tickets: [{"id": 1, "subject": "..."}]

Terminal Agent Capabilities

The terminal registers as a first-class agent on the mesh. Other agents can invoke:
  • terminal_prompt_user — display a question and wait for text response
  • terminal_request_approval — ask user to approve or deny an action
  • terminal_display_message — show an informational message
  • forge_propose_tools — propose tools from a description
  • forge_generate_tools — generate tool specs via AI

File Attachments

Attach files with /attach or the @ shortcut:
/attach ./report.csv
Upload standalone artifacts:
/upload
/upload-folder ./data

MCP Servers

Connect to Model Context Protocol servers:
/mcp list              # show registered servers
/mcp add               # interactive add flow
/mcp remove <name>     # remove a server
/mcp sync              # re-sync tools with the mesh

Example Session

$ export SVANTIC_CLIENT_ID=default
$ export SVANTIC_CLIENT_SECRET=change-me-in-production
$ svantic --model gemini-2.5-pro

> List all open support tickets and summarize the top issues.

Searching for open tickets...
[tool] orchestrator -> zendesk_list_tickets({"status": "open"})
[result] orchestrator -> zendesk_list_tickets: [{"id": 1042, ...}, ...]

There are 23 open tickets. The top three issues are:
1. Login failures after password reset (8 tickets)
2. Slow dashboard loading (6 tickets)
3. Missing invoice downloads (4 tickets)

> Triage the login failures — assign them to the auth team.

[approval] Assign 8 tickets to auth-team? (approve/deny)
> approve

Done. 8 tickets assigned to auth-team with priority "high".

~ 4.2k tokens (1.8k prompt, 2.1k output, 312 thinking)