Skip to main content
Zeal supports command-line arguments for automation, scripting, and integration with other tools.

Basic Usage

zeal [options] [url]

Options

General Options

--help
flag
Display help information and exit
--version
flag
Display version information and exit
--minimized
flag
Start minimized regardless of settingsUseful for starting Zeal in the background at system startup.

Windows-Specific Options

--attach-console
flag
Attach console for logging (Windows only)Redirects output to the parent console window for debugging.
--register
flag
Register protocol handlers (Windows only)Registers dash:// and dash-plugin:// URL schemes with the system.
zeal --register
--unregister
flag
Unregister protocol handlers (Windows only)Removes dash:// and dash-plugin:// URL scheme registrations.
zeal --unregister
The --register and --unregister options cannot be used together.

Positional Arguments

URL Parameter

You can pass a search query or URL as a positional argument:
zeal "python:print"
Supported URL schemes:
  • Plain text queries
  • dash:// URLs
  • dash-plugin:// URLs
See Protocol Handlers for details on URL schemes.

Examples

Search for Documentation

Search for “string” in Python documentation:
zeal "python:string"
Search across multiple docsets:
zeal "python,django:models"

Start Minimized

Launch Zeal minimized to system tray:
zeal --minimized

Use Protocol Handlers

Open documentation using the dash:// protocol:
zeal "dash://python:print"
Use dash-plugin:// with parameters:
zeal "dash-plugin://keys=python&query=print"

Windows Protocol Registration

Register URL handlers on Windows:
zeal.exe --register
This allows you to open Zeal URLs from browsers and other applications:
<a href="dash://python:pprint">Python pprint documentation</a>

Integration Examples

Shell Alias

Create a shell alias for quick documentation lookup:
# In .bashrc or .zshrc
alias zdoc='zeal'

# Usage
zdoc "javascript:array.map"

Desktop Launcher

Create a custom desktop launcher with a specific query:
[Desktop Entry]
Type=Application
Name=Zeal Python Docs
Exec=zeal "python:"
Icon=zeal
Terminal=false

Script Integration

Use Zeal in scripts for documentation lookup:
#!/bin/bash
# Open documentation for a command

if [ -z "$1" ]; then
  echo "Usage: $0 <command>"
  exit 1
fi

zeal "bash:$1" &

Multiple Instances

Zeal enforces single-instance behavior. When you run Zeal while another instance is already running:
  1. The command-line arguments are sent to the existing instance
  2. The existing window is activated (unless prevent_activation=true is set in dash-plugin:// URLs)
  3. The new process exits
This ensures a consistent user experience and prevents multiple windows from opening unnecessarily.

Exit Codes

  • 0 - Success
  • 1 - Failure (e.g., invalid arguments, failed to send message to primary instance)
Command-line arguments are processed before the GUI is shown, making Zeal suitable for automated workflows and IDE integration.

Build docs developers (and LLMs) love