guide

Choosing CLI vs Desktop

Both clients share the same agent runtime; the difference between them is the interaction model. The CLI is the open-source client — it ships in the zlogic repository together with the runtime — while the desktop app is closed source and distributed as a binary:

Scenario CLI Desktop
Already in the terminal ★ Best OK
Keyboard-driven, low-distraction ★ TUI shortcuts GUI
Managing multiple projects/conversations OK ★ Visual sidebar
File browsing & editing Command-line tools ★ Built-in file panel + editor
Model/key configuration YAML editing ★ Configuration forms
Usage & cost tracking CLI queries ★ Charts
Approval workflow ★ In-terminal In-window

Use CLI when

  • You already live in the terminal — coding, logs, builds
  • You want long replies to stay in the terminal you are already using
  • You prefer a keyboard-driven workflow

Use Desktop when

  • You need to manage multiple Workspaces and Conversations visually
  • You want GUI-based Provider, model and key configuration
  • You need usage trends, cost charts, local history, the plugin/skill marketplace, managed connections — or a remote daemon backend

They work together: quick questions in the terminal, full project overview in the desktop app — and the desktop can point at a daemon running on another machine (Remote daemon & pairing).

CLI (open source)

The CLI runs inside your existing terminal and keeps the real terminal experience. See CLI Reference for every flag and slash command.

Core capabilities

  • Approval workflow: sensitive actions (write files, run commands, access external resources) request authorization first.
  • Grant scopes: allow once, allow for this session, or allow for this project. Project grants persist per working directory.
  • Turn history: review what a turn changed and undo it, backed by local checkpoints.
  • Memory: durable facts persist across conversations, per scope (global / workspace).
  • MCP tooling: manage MCP servers from the terminal.
  • IME-friendly input: hardware cursor anchoring keeps CJK composition windows stable.
  • Themes & quick actions: theme switching, session switching, file references, paste support, model selection and provider/key management.

Best for

  • Code reading, editing, testing and pre-commit checks inside the terminal
  • Working with long output, command results and agent activity directly in the terminal
  • Keyboard-driven, low-distraction workflows

Desktop (closed source)

The desktop app (Tauri 2) wraps the agent runtime as a native cross-platform application with a visual workspace. The sidebar views:

  • Dashboard: create or open a Workspace, or use the Global Workspace for ad-hoc chats.
  • Chat: streaming replies, reasoning blocks, tool/todo/diff activity, permission/confirmation/input prompts; attachments, pasted text/files/images, @ file references, slash panels, in-flight steering, stop, copy, edit, delete, rollback and diff undo.
  • Workspaces & Conversations: any folder can be a Workspace; each can hold multiple Conversations.
  • Files: project tree, lazy-loaded directories, CodeMirror editor, dirty-state hints, refresh and save — writes carry an mtime check so external edits are never silently overwritten.
  • Local history (checkpoints): snapshots around every file-changing tool call; "what did this turn change", rollback and diff undo rely on them. Snapshots live in a shadow object store and never touch your git.
  • Tasks: background tasks with status and notifications.
  • Marketplace: install and manage plugins & skills, MCP servers and optional runtimes (Plugins & Skills).
  • Connections: manage databases, object storage and cloud accounts once, then assign them to workspaces (Connections).
  • Usage: calls, tokens, cost and estimated-call count; filter by date, provider, model, workspace or conversation.
  • Settings → Run engine: switch the engine backend between the local in-process engine and a remote daemon.
  • Settings & Providers: theme, language, updates, default model, context compaction threshold, approval mode, log level/path; edit provider, SDK, base URL, API key, model tier, context window, pricing, model roles and memory.

Best for

  • Managing several projects, conversations and models
  • Reviewing cost trends and recent calls by project or conversation
  • Inspecting key storage, model pricing, provider endpoints and local settings through a GUI
  • Pointing one app at a powerful machine running the daemon