Skip to main content

Overview

This page provides a comprehensive reference for all command-line flags and arguments available in SkyDiscover’s CLI tools.

skydiscover-run Flags

Main command for running evolutionary discovery.

Positional Arguments

string
Position: 1st argumentDescription: Path to the initial program file to seed the search. Optional - if omitted, search starts from scratch.Example:
string
required
Position: 2nd argument (or 1st if initial_program omitted)Description: Path to the evaluation file that must define an evaluate function to score generated programs.Example:

Configuration Flags

string
Alias: -cDefault: NoneDescription: Path to YAML configuration file. Defines search parameters, LLM settings, and algorithm configuration.Example:
See also: Configuration
string
Alias: -oDefault: Auto-generated based on search algorithm and timestampDescription: Directory path for storing results, checkpoints, programs, and logs.Example:
Output structure:

Search Parameters

integer
Alias: -iDefault: From config file, or 100 if not specifiedDescription: Maximum number of search iterations to execute. Overrides config file value.Example:
Note: Each iteration may generate multiple candidate programs depending on the search algorithm.
Alias: -sDefault: From config file, or evox if not specifiedDescription: Search algorithm to use for evolutionary discovery.Choices:
  • evox - Default evolutionary search with configurable operators
  • adaevolve - Adaptive evolutionary algorithm that adjusts strategy
  • best_of_n - Simple best-of-N sampling without evolution
  • beam_search - Maintains top-K programs and expands them
  • topk - Top-K selection strategy
Example:

LLM Configuration

string
Alias: -mDefault: From config file, or gpt-5 if not specifiedDescription: LLM model(s) for solution generation. Supports single model or comma-separated list for multi-model ensemble with automatic load balancing.Format:
  • Simple: model-name
  • With provider: provider/model-name
  • Multiple: model1,model2,model3
Examples:
Supported providers:
  • openai (default)
  • anthropic
  • gemini / google
  • Custom via --api-base
string
Default: Provider-specific default (e.g., https://api.openai.com/v1)Description: Base URL for LLM API requests. Used for local models, custom endpoints, or alternative providers.Examples:

Advanced Options

boolean
Default: falseDescription: Enable agentic mode for multi-file codebase editing. The LLM can read and modify multiple files in the codebase directory.Behavior:
  • Codebase root automatically set to dirname(initial_program)
  • LLM receives file system context
  • Mutations can span multiple files
  • Best for complex refactoring tasks
Example:
Output:
Agentic mode requires more tokens per LLM call and may be slower. Use for tasks that genuinely need multi-file context.
string
Default: NoneDescription: Path to checkpoint directory to resume from. Loads saved state including all programs, metrics, and search progress.Example:
Output:
Notes:
  • The --iterations flag specifies total iterations, not additional iterations
  • Checkpoint must be from the same search algorithm
  • Evaluation function must be compatible

Logging

string
Alias: -lDefault: WARNINGDescription: Logging verbosity level for console output.Choices: DEBUG, INFO, WARNING, ERROR, CRITICALExamples:
Output samples:

skydiscover-viewer Flags

Visualization tool for completed runs.

Positional Arguments

string
required
Position: 1st argumentDescription: Path to output directory, checkpoint directory, or any directory containing program JSON files.Auto-detection order:
  1. Direct checkpoint dir (metadata.json + programs/)
  2. Programs subdirectory with JSON files
  3. Latest checkpoint_N in directory
  4. Latest in checkpoints/ subdirectory
  5. Latest in <subdir>/checkpoints/ (e.g., island/checkpoints/)
  6. Flat directory with *.json files
Examples:

Server Options

integer
Default: 8765Description: TCP port for the web dashboard server.Example:
Access: http://localhost:9000/
string
Default: 127.0.0.1Description: Host address to bind the server. Use 0.0.0.0 for external access.Examples:
Using --host 0.0.0.0 exposes the dashboard to your network. Use SSH tunneling for secure remote access:

Summary Generation

string
Default: gpt-5-mini if OPENAI_API_KEY is set, otherwise disabledDescription: LLM model for generating per-program summaries and global run analysis. Requires OPENAI_API_KEY environment variable.Examples:
Summary features:
  • Per-program: algorithmic changes, innovation description
  • Global: search trajectory, breakthrough moments, patterns
  • On-demand: generated when viewing program details

Environment Variables

Environment variables that affect CLI behavior:
string
Required for: OpenAI models, viewer summariesDescription: API key for OpenAI services.Example:
string
Required for: Anthropic modelsDescription: API key for Anthropic Claude models.Example:
string
Required for: Google Gemini modelsDescription: API key for Google Gemini models.Example:

Flag Combinations

Common Workflows

Minimal flags for rapid testing:
Full configuration with checkpointing:
Load-balanced multiple LLMs:
Resume from checkpoint with more iterations:
Use locally hosted LLM:
Multi-file editing mode:

Flag Priority

When the same parameter is specified in multiple places:
1

CLI Flags (Highest Priority)

Command-line arguments override all other sources.
2

Configuration File

YAML config file values (when --config is provided).
3

Default Values (Lowest Priority)

Hard-coded defaults in the CLI parser.
Example:

Exit Codes

Success
Discovery completed successfully or viewer stopped gracefully.
Error
Error occurred during execution:
  • File not found (program or evaluator)
  • Invalid configuration
  • Checkpoint not found
  • Missing required package
  • Evaluation failure
  • LLM API error

See Also

skydiscover-run

Detailed run command guide

skydiscover-viewer

Detailed viewer guide

Configuration

YAML configuration reference

Evaluators

Writing evaluation functions

Search Algorithms

Available search strategies

Quick Start

Get started tutorial