Skip to content

Command Line Interface (CLI)

The robotcode CLI tool enables seamless interaction with Robot Framework through the command line, offering a comprehensive set of features for project analysis, debugging, and configuration management.

The CLI tool is designed to be straightforward and user-friendly, with a broad range of commands to support various use cases, including test execution, documentation generation, and code analysis. It also supports configuration profiles, allowing users to define and quickly switch between different project setups as needed.

In most cases, not all CLI components are required within a single project. For example, in a CI (Continuous Integration) environment, only the runner package is typically necessary to execute tests, while the language-server package is generally not needed. The analyze package is mainly useful in a development environment to detect syntax errors and validate code, but it may be unnecessary in production or deployment environments. Similarly, the debugger package is essential for local development when troubleshooting test cases but isn’t usually required in production or CI pipelines.

To accommodate these varied needs, robotcode is organized into separate packages that each focus on specific functions. The core package, robotcode, provides foundational support for working with robot.toml configuration files and profile management. Here’s a more detailed breakdown of each package and its capabilities:

  • robotcode Core Package: Always installed, the core package provides the top-level robotcode command together with the global options (config files, profiles, output format, paging, …) shared by every other command. It also includes commands to inspect the resolved configuration and the profiles defined for a project.

    • Commands:
      • config: Shows the merged robot.toml configuration and which files contributed to it, making it easy to understand how settings are resolved.
      • profiles: Lists the profiles defined for the project and shows their resulting configuration, helping verify which profile applies in a given context.
  • runner Package: This package is essential for users who need to run and manage tests within Robot Framework projects. It includes commands for executing tests, generating documentation, and discovering test elements. This package is especially important in CI/CD pipelines, where automation of test execution is a primary focus.

    • Commands:
      • robot, rebot, libdoc, testdoc: Enhanced versions of the standard Robot Framework tools, with support for robot.toml configuration files and profiles, allowing customized setups for different environments or testing requirements.
      • discover: Searches the project for tests, suites, tags, tasks, and other elements, providing a quick overview of available test cases and project structure.
      • results: Inspects a finished run's output.xml/output.json — summaries, failures, the per-test execution log, and diffs between two runs — without re-executing the tests.
  • analyze Package: This package provides tools for detailed inspection and validation of Robot Framework code, helping users identify errors and improve code quality. The analyze package is typically more useful in development environments where code quality checks and error detection are needed before moving tests to a CI or production environment.

    • Commands:
      • analyze: Analyzes Robot Framework scripts for syntax errors, undefined keywords, and other potential issues, allowing early detection of problems and ensuring adherence to best practices.
  • debugger Package: The debugger package enables powerful debugging capabilities for Robot Framework tests by providing a Debug Adapter Protocol (DAP)-compatible debugger. This package is most beneficial in development or local testing environments where developers need to diagnose and troubleshoot test issues. A DAP client, such as Visual Studio Code, can be connected to initiate and control debug sessions, enabling features like setting breakpoints, stepping through code, and inspecting variables.

    • Commands:
      • debug: Starts a DAP-compatible debug session for Robot Framework tests. This tool requires a DAP client to connect to the debug session, such as Visual Studio Code, which can then interface with the debugger and provide interactive debugging tools to analyze code behavior and troubleshoot issues effectively.
  • repl Package: The REPL (Read-Eval-Print Loop) package provides an interactive, real-time environment for executing Robot Framework commands. It’s ideal for experimenting with keywords, testing ideas, and performing quick debugging without needing to create full test files. It also ships a command-line debugger for Robot Framework runs. This package is mainly used in local development or testing environments where users can quickly prototype or troubleshoot commands.

    • Commands:
      • repl: Launches an interactive Robot Framework shell where users can execute commands line-by-line, ideal for quick testing and experimentation.
      • robot-debug: Runs a real .robot suite with the command-line debugger attached, pausing at breakpoints to step through execution, inspect the call stack and variables, and run keywords in the paused context.
      • doc: Shows the documentation of a library, resource file or suite file with the project's configuration, as Markdown in the terminal, in a file or as JSON, or in a terminal viewer. See Browsing Library Documentation.
  • language-server Package: This package provides language server capabilities, supporting IDE integration for Robot Framework with real-time code insights. Compatible with editors that support the Language Server Protocol (LSP), such as Visual Studio Code, it enables enhanced productivity and convenience. It is most useful in local development environments where interactive IDE support aids in code writing and refactoring but is generally not needed in CI or production environments.

    • Commands:
      • language-server: Starts the RobotCode Language Server, which provides features like syntax highlighting, auto-completion, and code analysis, designed to improve the Robot Framework development experience within IDEs.

To install the core robotcode CLI tool, use pip:

Terminal window
pip install robotcode

This command installs only the main package. For specific functionality, additional packages can be installed as needed:

Terminal window
pip install "robotcode[runner]"
pip install "robotcode[analyze]"
pip install "robotcode[debugger]"
pip install "robotcode[repl]"
pip install "robotcode[languageserver]"

To install all packages, including optional dependencies, use:

Terminal window
pip install "robotcode[all]"

This includes additional tools, such as robocop for linting and formatting, which further enhance the development experience with Robot Framework.

The following sections outline all available commands, their usage, and the corresponding options. Options with and asterisk (*) can be specified multiple times.

A CLI tool for Robot Framework.

Usage:

robotcode [OPTIONS] COMMAND [ARGS]...

Options:

  • -c, --config PATH *

    Config file to use. If not specified, the default config file is used. [env var: ROBOTCODE_CONFIG_FILES]

  • -p, --profile TEXT *

    The Execution Profile to use. If not specified, the default profile is used. [env var: ROBOTCODE_PROFILES]

  • -r, --root DIRECTORY

    Specifies the root path to be used for the project. It will be automatically detected if not provided. [env var: ROBOTCODE_ROOT]

  • --no-vcs

    Ignore version control system directories (e.g., .git, .hg) when detecting the project root. [env var: ROBOTCODE_NO_VCS]

  • -f, --format [toml|json|json_indent|text]

    Set the output format.

  • -d, --dry

    Dry run, do not execute any commands. [env var: ROBOTCODE_DRY]

  • --color / --no-color

    Enable or disable colored output. Color codes are written only to a terminal; set FORCE_COLOR to get them in a pipe. Default (no flag): auto-detect — colors only when stdout is a TTY, disabled if NO_COLOR is set, forced if FORCE_COLOR is set. [env var: ROBOTCODE_COLOR]

  • --pager / --no-pager

    Force or disable the pager on a terminal; no pager starts when stdout isn't a TTY. Default (no flag): auto-page when the rendered output exceeds the terminal height. [env var: ROBOTCODE_PAGER]

  • -v, --verbose

    Enables verbose mode. [env var: ROBOTCODE_VERBOSE]

  • --wrapper TEXT

    Command prefix to run the test execution through, e.g. --wrapper "xvfb-run -a". Split like a shell command. Applies only to commands that execute Robot Framework (run/debug/repl). Overrides the profile's wrapper. [env var: ROBOTCODE_WRAPPER]

  • --no-wrapper

    Disable any configured wrapper (profile or --wrapper) for this run.

  • --log

    Enables logging. [env var: ROBOTCODE_LOG]

  • --log-level [TRACE|DEBUG|INFO|WARNING|ERROR|CRITICAL]

    Sets the log level. [env var: ROBOTCODE_LOG_LEVEL; default: CRITICAL]

  • --log-format TEXT

    Sets the log format. See python logging documentation for more information. [env var: ROBOTCODE_LOG_FORMAT; default: %(levelname)s:%(name)s:%(message)s]

  • --log-style [%|{|$]

    Sets the log style. See python logging documentation for more information. [env var: ROBOTCODE_LOG_STYLE; default: %]

  • --log-filename FILE

    Write log output to a file instead to console. [env var: ROBOTCODE_LOG_FILENAME]

  • --log-calls

    Enables logging of method/function calls. [env var: ROBOTCODE_LOG_CALLS]

  • --log-config FILE

    Path to a logging configuration file. This must be a valid Python logging configuration file in JSON format. If this option is set, the other logging options are ignored. [env var: ROBOTCODE_LOG_CONFIG]

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Commands:

  • analyze

    The analyze command provides various subcommands for analyzing Robot Framework code.

  • config

    Shows information about the configuration.

  • debug

    Starts a Robot Framework debug session and waits for incomming connections.

  • discover

    Commands to discover informations about the current project.

  • doc

    Show the documentation of a library, resource file or suite file.

  • language-server

    Run Robot Framework Language Server.

  • libdoc

    Runs libdoc with the selected configuration, profiles, options and arguments.

  • profiles

    Shows information on defined profiles.

  • rebot

    Runs rebot with the selected configuration, profiles, options and arguments.

  • repl

    Run Robot Framework interactively (alias shell).

  • repl-server

    Start a REPL server, client can connect to the server and run the REPL scripts.

  • results

    Inspect a finished run's output.xml / output.json — counts, failures, and per-test execution tree, without re-running.

  • robot

    Runs robot with the selected configuration, profiles, options and arguments.

  • robot-debug

    Run a real Robot Framework suite with the debugger attached (alias run-debug).

  • testdoc

    Runs testdoc with the selected configuration, profiles, options and arguments.

Aliases:

  • shell

    Run Robot Framework interactively (alias shell).

  • run

    Runs robot with the selected configuration, profiles, options and arguments.

  • run-debug

    Run a real Robot Framework suite with the debugger attached (alias run-debug).

The analyze command provides various subcommands for analyzing Robot Framework code. These subcommands support specialized tasks, such as code analysis, style checking or dependency graphs.

Usage:

robotcode analyze [OPTIONS] COMMAND [ARGS]...

Options:

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Commands:

  • cache

    Manage the RobotCode analysis cache.

  • code

    Performs static code analysis to identify potential issues in the specified PATHS.

Manage the RobotCode analysis cache.

Provides subcommands to inspect, list, and clear cached data (library docs, variables, resources, namespaces).

Usage:

robotcode analyze cache [OPTIONS] COMMAND [ARGS]...

Options:

  • --help

    Show this message and exit.

Commands:

  • clear

    Clear the analysis cache.

  • info

    Show cache statistics.

  • list

    List cached entries.

  • path

    Print the cache directory path.

  • prune

    Remove the entire cache directory.

Clear the analysis cache.

Removes cached entries from the database. By default clears all sections. Use --section to clear specific sections only.

Usage:

robotcode analyze cache clear [OPTIONS] [PATHS]...

Options:

  • -s, --section SECTION *

    Clear only specific sections (library, variables, resource, namespace). Can be specified multiple times.

  • --help

    Show this message and exit.

Show cache statistics.

Displays the cache directory, database size, app version, and per-section entry counts with timestamps.

Usage:

robotcode analyze cache info [OPTIONS] [PATHS]...

Options:

  • --help

    Show this message and exit.

List cached entries.

Shows all entries in the cache with their timestamps and sizes. Use --section to filter by specific cache sections. Use --pattern to filter entries by glob pattern.

Usage:

robotcode analyze cache list [OPTIONS] [PATHS]...

Options:

  • -s, --section SECTION *

    Filter by section (library, variables, resource, namespace). Can be specified multiple times.

  • -p, --pattern PATTERN *

    Filter entries by glob pattern (e.g. 'robot.*', 'BuiltIn'). Can be specified multiple times.

  • --help

    Show this message and exit.

Print the cache directory path.

Outputs the resolved cache directory for the current project and Python/Robot Framework version combination.

Usage:

robotcode analyze cache path [OPTIONS] [PATHS]...

Options:

  • --help

    Show this message and exit.

Remove the entire cache directory.

Deletes the .robotcode_cache directory and all its contents, including caches for all Python and Robot Framework versions.

Usage:

robotcode analyze cache prune [OPTIONS] [PATHS]...

Options:

  • --force

    Force prune even if cache is in use by another process.

  • --help

    Show this message and exit.

Performs static code analysis to identify potential issues in the specified PATHS. The analysis detects syntax errors, missing keywords or variables, missing arguments, and other problems.

  • PATHS: Can be individual files or directories. If no PATHS are provided, the whole project is analyzed.

The return code is a bitwise combination of the following values:

  • 0: SUCCESS - No issues detected. - 1: ERRORS - Critical issues found. - 2: WARNINGS - Non-critical issues detected. - 4: INFORMATIONS - General information messages. - 8: HINTS - Suggestions or improvements.

Examples:

robotcode analyze code
robotcode analyze code --filter **/*.robot
robotcode analyze code tests/acceptance/first.robot
robotcode analyze code -mi DuplicateKeyword tests/acceptance/first.robot
robotcode --format json analyze code

Usage:

robotcode analyze code [OPTIONS] [PATHS]...

Options:

  • --version

    Show the version and exit.

  • -f, --filter PATTERN *

    Glob pattern to filter files to analyze. Can be specified multiple times.

  • -v, --variable name:value *

    Set variables in the test data. see robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file file to read variables from. see robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. see robot --pythonpath option.

  • -mi, --modifiers-ignore CODE *

    Specifies the diagnostics codes to ignore.

  • -me, --modifiers-error CODE *

    Specifies the diagnostics codes to treat as errors.

  • -mw, --modifiers-warning CODE *

    Specifies the diagnostics codes to treat as warning.

  • -mI, --modifiers-information CODE *

    Specifies the diagnostics codes to treat as information.

  • -mh, --modifiers-hint CODE *

    Specifies the diagnostics codes to treat as hint.

  • -xm, --exit-code-mask [error|warn|info|hint|all] *

    Specifies which diagnostic severities should not affect the exit code. For example, with 'warn' in the mask, warnings won't cause a non-zero exit code.

  • -xe, --extend-exit-code-mask [error|warn|info|hint|all] *

    Extend the exit code mask with the specified values. This appends to the default mask, defined in the config file.

  • --severity [error|warn|warning|info|information|hint] *

    Only report diagnostics of these severities. Repeatable and comma-separated. Filtered-out severities are ignored entirely — they don't appear in the output, the summary or the exit code. When omitted, all severities are reported.

  • --code CODE *

    Only report diagnostics with these codes (e.g. KeywordNotFound). Repeatable and comma-separated; matching is case-insensitive. Unlike the modifiers, this filters without changing severity. Combined with --severity, both must match. When omitted, all codes are reported.

  • --load-library-timeout SECONDS

    Timeout (in seconds) for loading libraries and variable files during analysis. Must be > 0. Overrides config file and environment variable when set. [env var: ROBOTCODE_LOAD_LIBRARY_TIMEOUT]

  • --collect-unused / --no-collect-unused

    Enable or disable collection of unused keyword and unused variable diagnostics. Overrides the config file setting when specified.

  • --cache-namespaces / --no-cache-namespaces

    Enable or disable caching of fully analyzed namespace data to disk. Can speed up startup for large projects by skipping re-analysis of unchanged files.

  • --show-tracebacks / --no-show-tracebacks

    Include the full diagnostic message in the text output, including Python tracebacks and PYTHONPATH listings that Robot Framework appends to import errors. Off by default to keep output concise. Has no effect on JSON output, which always carries the full message.

  • --full-paths / --no-full-paths

    Show full paths instead of paths relative to the project root. Applies to both text and JSON output. [default: no-full-paths]

  • --output-format [concise|json|json-indent|sarif|github|gitlab]

    Output format for the analysis result. Overrides the global --format for this command. concise (default) is the human-readable text output; sarif emits a SARIF 2.1.0 log; github emits GitHub Actions workflow annotations; gitlab emits a GitLab Code Quality report.

  • --output-file FILE

    Write the report to FILE instead of stdout. Useful with --output-format sarif/gitlab to produce an artifact for CI upload.

  • --help

    Show this message and exit.

Shows information about the configuration.

Usage:

robotcode config [OPTIONS] COMMAND [ARGS]...

Options:

  • --help

    Show this message and exit.

Commands:

  • files

    Search for configuration files and list them.

  • info

    Shows informations about possible configuration settings.

  • root

    Searches for the root folder of the project and prints them.

  • show

    Shows the current configuration.

Search for configuration files and list them.

Takes a list of PATHS or if no PATHS are given, takes the current working directory, to search for configuration files and prints them.

Examples:

robotcode config files
robotcode config files tests/acceptance/first.robot

Usage:

robotcode config files [OPTIONS] [PATHS]... [USER]

Options:

  • --help

    Show this message and exit.

Shows informations about possible configuration settings.

Usage:

robotcode config info [OPTIONS] COMMAND [ARGS]...

Options:

  • --help

    Show this message and exit.

Commands:

  • desc

    Shows the description of the specified configuration settings.

  • list

    Lists all possible configuration settings.

Shows the description of the specified configuration settings.

If no NAME is given shows the description of all possible configuration settings. Wildcards are supported.

Examples:

robotcode config info desc
robotcode config info desc python-path
robotcode config info desc rebot.*
robotcode config info desc *tag*

Usage:

robotcode config info desc [OPTIONS] [NAME]...

Options:

  • --help

    Show this message and exit.

Lists all possible configuration settings.

If NAME is given searches for given name. Wildcards are supported.

Examples:

robotcode config info list
robotcode config info list rebot.*
robotcode config info list *tag*

Usage:

robotcode config info list [OPTIONS] [NAME]...

Options:

  • --help

    Show this message and exit.

Searches for the root folder of the project and prints them.

Takes a list of PATHS or if no PATHS are given, takes the current working directory, to search for the root of the project and prints this.

Examples:

robotcode config root
robotcode config root tests/acceptance/first.robot

Usage:

robotcode config root [OPTIONS] [PATHS]...

Options:

  • --help

    Show this message and exit.

Shows the current configuration.

Takes a list of PATHS or if no PATHS are given, takes the current working directory, to search for configuration files and prints the current configuration.

Examples:

robotcode config show
robotcode config show tests/acceptance/first.robot
robotcode --format json config show

Usage:

robotcode config show [OPTIONS] [PATHS]...

Options:

  • -s, --single

    Shows single files, not the combined config.

  • --help

    Show this message and exit.

Starts a Robot Framework debug session and waits for incomming connections.

Usage:

robotcode debug [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --debug / --no-debug

    Enable/disable debug mode [default: debug]

  • --stop-on-entry / --no-stop-on-entry

    Breaks into debugger when a robot framework run starts. [default: no-stop-on-entry]

  • --wait-for-client / --no-wait-for-client

    Waits until a debug client is connected. [env var: ROBOTCODE_WAIT_FOR_CLIENT; default: wait-for-client]

  • --wait-for-client-timeout FLOAT

    Timeout in seconds for waiting for a connection with a debug client. [env var: ROBOTCODE_WAIT_FOR_CLIENT_TIMEOUT; default: 15]

  • --configuration-done-timeout FLOAT

    Timeout to wait for a configuration from client. [env var: ROBOTCODE_CONFIGURATION_DONE_TIMEOUT; default: 15]

  • --debugpy / --no-debugpy

    Enable/disable python debugging. [env var: ROBOTCODE_DEBUGPY; default: no-debugpy]

  • --debugpy-wait-for-client / --no-debugpy-wait-for-client

    Waits for a debugpy client to connect. [env var: ROBOTCODE_DEBUGPY_WAIT_FOR_CLIENT]

  • --debugpy-port INTEGER

    The port for the debugpy session. [default: 5678]

  • --output-messages / --no-output-messages

    Send output messages from robot framework to client. [default: no-output-messages]

  • --output-log / --no-output-log

    Send log messages from robotframework to client. [default: output-log]

  • --output-timestamps / --no-output-timestamps

    Include timestamps in log and output messages. [default: no-output-timestamps]

  • --group-output / --no-group-output

    Fold/group messages or log messages. [default: no-group-output]

  • --tcp [<ADDRESS>:]<PORT>

    Run in tcp server mode and listen at the given port. (Equivalent to --mode tcp --port <port>) NOTE: This option is mutually exclusive with options: mode, pipe-name, pipe-server, port.

  • --pipe-server NAME

    Run in pipe-server mode and listen at the given pipe name. (Equivalent to --mode pipe-server --pipe-name <name>) NOTE: This option is mutually exclusive with options: bind, mode, pipe-name, port, tcp.

  • --mode [tcp|pipe_server]

    The mode to use for the debug launch server. NOTE: This option is mutually exclusive with options: pipe-server, tcp. [env var: ROBOTCODE_MODE; default: TCP]

  • --port PORT

    The port to listen on or connect to. (Only valid for tcp and socket mode) NOTE: This option is mutually exclusive with options: pipe-name, pipe-server. [env var: ROBOTCODE_PORT; default: 6612; 1<=x<=65535]

  • --bind ADDRESS *

    Specify alternate bind address. If no address is specified localhost is used. (Only valid for tcp and socket mode) NOTE: This option is mutually exclusive with options: pipe-name, pipe-server. [env var: ROBOTCODE_BIND; default: 127.0.0.1]

  • --pipe-name NAME

    The pipe to listen on or connect to. (Only valid in pipe and pipe-server mode) NOTE: This option is mutually exclusive with options: bind, pipe-server, port, tcp. [env var: ROBOTCODE_PIPE_NAME]

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Commands to discover informations about the current project.

Examples:

robotcode discover tests
robotcode --profile regression discover tests

Usage:

robotcode discover [OPTIONS] COMMAND [ARGS]...

Options:

  • --diagnostics / --no-diagnostics

    List the full robot parsing errors and warnings before the results. [default: no-diagnostics]

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Commands:

  • all

    Discover suites, tests, tasks with the selected configuration, profiles, options and arguments.

  • files

    Shows all files that are used to discover the tests.

  • info

    Shows some informations about the current robot environment.

  • metadata

    Discover the metadata of tests, tasks and suites with the selected configuration, profiles, options and arguments. (Robot Framework 7.5+)

  • suites

    Discover suites with the selected configuration, profiles, options and arguments.

  • tags

    Discover tags with the selected configuration, profiles, options and arguments.

  • tasks

    Discover tasks with the selected configuration, profiles, options and arguments.

  • tests

    Discover tests with the selected configuration, profiles, options and arguments.

Discover suites, tests, tasks with the selected configuration, profiles, options and arguments.

You can use all known robot arguments to filter for example by tags or to use pre-run-modifier.

Examples:

robotcode discover all
robotcode --profile regression discover all
robotcode --profile regression discover all --include regression --exclude wipANDnotready

Usage:

robotcode discover all [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --show-tags / --no-show-tags

    Show the tags that are present. [default: show-tags]

  • --show-metadata / --no-show-metadata

    Show the metadata of tests and tasks. (Robot Framework 7.5+) [default: show-metadata]

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Shows all files that are used to discover the tests.

Note: At the moment only .robot and .resource files are shown.  Examples: robotcode discover files .

Usage:

robotcode discover files [OPTIONS] [PATHS]...

Options:

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --help

    Show this message and exit.

Shows some informations about the current robot environment.

Examples:

robotcode discover info

Usage:

robotcode discover info [OPTIONS]

Options:

  • --help

    Show this message and exit.

(Robot Framework 7.5+)

Discover the metadata of tests, tasks and suites with the selected configuration, profiles, options and arguments.

Test and task metadata is what --by-test-metadata selects by; suite metadata, including --metadata given to Robot, is listed in its own section.

Examples:

robotcode discover metadata
robotcode discover metadata --values --tests
robotcode --format json discover metadata

Usage:

robotcode discover metadata [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --values / --no-values

    Show the values of each metadata name. [default: no-values]

  • --tests / --no-tests

    Show the tests that have the metadata. [default: no-tests]

  • --tasks / --no-tasks

    Show the tasks that have the metadata. [default: no-tasks]

  • --suites / --no-suites

    Show the suites that have the metadata. [default: no-suites]

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Discover suites with the selected configuration, profiles, options and arguments.

You can use all known robot arguments to filter for example by tags or to use pre-run-modifier.

Examples:

robotcode discover suites
robotcode --profile regression discover suites
robotcode --profile regression discover suites --include regression --exclude wipANDnotready

Usage:

robotcode discover suites [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Discover tags with the selected configuration, profiles, options and arguments.

You can use all known robot arguments to filter for example by tags or to use pre-run-modifier.

Examples:

robotcode discover tags
robotcode --profile regression discover tags
robotcode --profile regression discover tags --tests -i wip ```
**Usage:**
```text
robotcode discover tags [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --normalized / --not-normalized

    Whether or not normalized tags are shown. [default: normalized]

  • --tests / --no-tests

    Show tests where the tag is present. [default: no-tests]

  • --tasks / --no-tasks

    Show tasks where the tag is present. [default: no-tasks]

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Discover tasks with the selected configuration, profiles, options and arguments.

You can use all known robot arguments to filter for example by tags or to use pre-run-modifier.

Examples:

robotcode discover tasks
robotcode --profile regression discover tasks
robotcode --profile regression discover tasks --include regression --exclude wipANDnotready

Usage:

robotcode discover tasks [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --show-tags / --no-show-tags

    Show the tags that are present. [default: no-show-tags]

  • --show-metadata / --no-show-metadata

    Show the metadata of tests and tasks. (Robot Framework 7.5+) [default: no-show-metadata]

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Discover tests with the selected configuration, profiles, options and arguments.

You can use all known robot arguments to filter for example by tags or to use pre-run-modifier.

Examples:

robotcode discover tests
robotcode --profile regression discover tests
robotcode --profile regression discover tests --include regression --exclude wipANDnotready

Usage:

robotcode discover tests [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --show-tags / --no-show-tags

    Show the tags that are present. [default: no-show-tags]

  • --show-metadata / --no-show-metadata

    Show the metadata of tests and tasks. (Robot Framework 7.5+) [default: no-show-metadata]

  • --full-paths / --no-full-paths

    Show full paths instead of relative. [default: no-full-paths]

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --search TEXT

    Only include items where TEXT case-insensitively matches the name, full name, source path, documentation, template name, timeout, any tag (normalisation-aware), test metadata names and values, the parent suite's Documentation / Metadata, or anything inside the test body — keyword names, keyword arguments, assigned variables, FOR/WHILE/IF conditions, VAR/RETURN values, EXCEPT patterns, GROUP names. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include items where PATTERN (Python regex, case-sensitive — prefix with (?i) for case-insensitive) matches any of the same targets as --search. Mutually exclusive with --search.

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Show the documentation of a library, resource file or suite file.

TARGET is a library name, the path of a library, resource or suite file, with import arguments appended as in Libdoc: Name::arg1::arg2. It is loaded anew on every call, with the robot.toml configuration and the selected profiles.

Examples:

robotcode doc lib Collections
robotcode doc keywords Collections dictionary
robotcode doc keyword BuiltIn "Should Be*"
robotcode doc browse resources/common.resource
robotcode --format json doc lib 'Remote::http://${HOST}:8270'

Usage:

robotcode doc [OPTIONS] COMMAND [ARGS]...

Options:

  • --help

    Show this message and exit.

Commands:

  • browse

    Browse the full documentation of TARGET in the terminal.

  • keyword

    Show the full documentation of keywords of TARGET.

  • keywords

    List the keywords of TARGET with their arguments and short documentation.

  • lib

    Show the full documentation of TARGET.

Browse the full documentation of TARGET in the terminal.

Opens the documentation viewer of the REPL, with links, search and back/forward navigation. In AI-agent sessions, in pipes and without a terminal, the Markdown is printed instead, as robotcode doc lib prints it.

Examples:

robotcode doc browse Collections
robotcode doc browse resources/common.resource

Usage:

robotcode doc browse [OPTIONS] TARGET

Options:

  • -v, --variable name:value *

    Set variables in the test data. See robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file to read variables from. See robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. See robot --pythonpath option.

  • --language LANG *

    Activate localization in addition to the languages of the configuration. See robot --language option.

  • --base-dir DIRECTORY

    The directory for ${CURDIR} and relative paths in TARGET. Default: the current directory.

  • --help

    Show this message and exit.

Show the full documentation of keywords of TARGET.

A NAME selects the keywords whose name matches it exactly or as a pattern with * and ?, and the keywords with embedded arguments that match it. Case, spaces and underscores are ignored. The data types that the arguments use follow the keywords.

Examples:

robotcode doc keyword Collections "Get Match Count"
robotcode doc keyword BuiltIn "Should Be*"
robotcode doc keyword resources/common.resource "Open Chrome Browser"

Usage:

robotcode doc keyword [OPTIONS] TARGET NAME...

Options:

  • -v, --variable name:value *

    Set variables in the test data. See robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file to read variables from. See robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. See robot --pythonpath option.

  • --language LANG *

    Activate localization in addition to the languages of the configuration. See robot --language option.

  • --base-dir DIRECTORY

    The directory for ${CURDIR} and relative paths in TARGET. Default: the current directory.

  • -o, --output FILE

    Write the Markdown to this file instead of the terminal.

  • --help

    Show this message and exit.

List the keywords of TARGET with their arguments and short documentation.

A PATTERN selects the keywords whose name contains it. * and ? are wildcards; case, spaces and underscores are ignored. Several patterns select the keywords that match any of them.

Examples:

robotcode doc keywords Collections
robotcode doc keywords Collections dictionary
robotcode doc keywords Collections "get*list"
robotcode doc keywords Collections append insert
robotcode doc keywords resources/common.resource --tag smoke

Usage:

robotcode doc keywords [OPTIONS] TARGET [PATTERN]...

Options:

  • --tag TAG *

    Only keywords with a tag that matches TAG. * and ? are wildcards. Can be given more than once.

  • -v, --variable name:value *

    Set variables in the test data. See robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file to read variables from. See robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. See robot --pythonpath option.

  • --language LANG *

    Activate localization in addition to the languages of the configuration. See robot --language option.

  • --base-dir DIRECTORY

    The directory for ${CURDIR} and relative paths in TARGET. Default: the current directory.

  • -o, --output FILE

    Write the Markdown to this file instead of the terminal.

  • --help

    Show this message and exit.

Show the full documentation of TARGET.

The page has the introduction, the importing arguments, an index and the documentation of every keyword, and the data types the keywords use.

Examples:

robotcode doc lib Collections
robotcode doc lib -o common.md resources/common.resource
robotcode --format json doc lib 'MyLibrary::arg1'

Usage:

robotcode doc lib [OPTIONS] TARGET

Options:

  • -v, --variable name:value *

    Set variables in the test data. See robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file to read variables from. See robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. See robot --pythonpath option.

  • --language LANG *

    Activate localization in addition to the languages of the configuration. See robot --language option.

  • --base-dir DIRECTORY

    The directory for ${CURDIR} and relative paths in TARGET. Default: the current directory.

  • -o, --output FILE

    Write the Markdown to this file instead of the terminal.

  • --help

    Show this message and exit.

Run Robot Framework Language Server.

Usage:

robotcode language-server [OPTIONS] [PATHS]...

Options:

  • --stdio

    Run in stdio mode. (Equivalent to --mode stdio) NOTE: This option is mutually exclusive with options: bind, mode, pipe, pipe-name, port, socket, tcp. [env var: ROBOTCODE_STDIO]

  • --tcp [<ADDRESS>:]<PORT>

    Run in tcp server mode and listen at the given port. (Equivalent to --mode tcp --port <port>) NOTE: This option is mutually exclusive with options: mode, pipe, pipe-name, port, socket, stdio.

  • --socket [<ADDRESS>:]<PORT>

    Run in socket mode and connect to the given port. (Equivalent to --mode socket --port <port>) NOTE: This option is mutually exclusive with options: mode, pipe, pipe-name, port, stdio, tcp.

  • --pipe NAME

    Run in pipe mode and connect to the given pipe name. (Equivalent to --mode pipe --pipe-name <name>) NOTE: This option is mutually exclusive with options: bind, mode, pipe-name, port, socket, stdio, tcp.

  • --mode [stdio|tcp|socket|pipe]

    The mode to use for the debug launch server. NOTE: This option is mutually exclusive with options: pipe, socket, stdio, tcp. [env var: ROBOTCODE_MODE; default: STDIO]

  • --port PORT

    The port to listen on or connect to. (Only valid for tcp and socket mode) NOTE: This option is mutually exclusive with options: pipe, pipe-name. [env var: ROBOTCODE_PORT; default: 6610; 1<=x<=65535]

  • --bind ADDRESS *

    Specify alternate bind address. If no address is specified localhost is used. (Only valid for tcp and socket mode) NOTE: This option is mutually exclusive with options: pipe, pipe-name. [env var: ROBOTCODE_BIND; default: 127.0.0.1]

  • --pipe-name NAME

    The pipe to listen on or connect to. (Only valid in pipe and pipe-server mode) NOTE: This option is mutually exclusive with options: bind, pipe, port, socket, stdio, tcp. [env var: ROBOTCODE_PIPE_NAME]

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Runs libdoc with the selected configuration, profiles, options and arguments.

The options and arguments are passed to libdoc as is.

Usage:

robotcode libdoc [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Use -- --help to see the libdoc help.

Shows information on defined profiles.

Usage:

robotcode profiles [OPTIONS] COMMAND [ARGS]...

Options:

  • --help

    Show this message and exit.

Commands:

  • list

    Lists the defined profiles in the current configuration.

  • show

    Shows the given profile configuration.

Lists the defined profiles in the current configuration.

Usage:

robotcode profiles list [OPTIONS] [PATHS]...

Options:

  • -h, --show-hidden

    Show hidden profiles.

  • -sp, --sort-by-precedence

    Sort by precedence.

  • --help

    Show this message and exit.

Shows the given profile configuration.

Usage:

robotcode profiles show [OPTIONS] [PATHS]...

Options:

  • -n, --no-evaluate

    Don't evaluate expressions in the profile.

  • --help

    Show this message and exit.

Runs rebot with the selected configuration, profiles, options and arguments.

The options and arguments are passed to rebot as is.

Usage:

robotcode rebot [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Use -- --help to see rebot help.

Run Robot Framework interactively (alias shell).

Starts an interactive session where you enter Robot Framework keywords and run them immediately. Pass FILES to execute them in the session.

Usage:

robotcode repl [OPTIONS] [FILES]...

Options:

  • --no-history

    Don't load or save the persistent history file. In-session arrow-up recall still works, but nothing crosses session boundaries. Useful for AI-agent invocations or quick spike sessions you don't want polluting your shell's REPL history.

  • --backend [auto|prompt-toolkit|plain]

    Force a specific input backend instead of auto-picking. auto and prompt-toolkit both pick the prompt-toolkit-driven interpreter (completion, syntax highlighting, history, doc viewer). plain drops to a bare input() prompt — useful when ANSI escapes or popups would interfere with the surrounding capture. [default: auto]

  • --plain

    Shorthand for --backend=plain. Disables all prompt enhancements — completion, syntax highlighting, candidate popup, auto-suggest, history file. The prompt becomes a bare input() call. Recommended for AI-agent invocations, automation pipelines, and any context where ANSI escapes or completion popups would interfere with stdin/stdout capture. Conflicts with --backend=<other>.

  • -v, --variable name:value *

    Set variables in the test data. See robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file to read variables from. See robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. See robot --pythonpath option.

  • -k, --show-keywords

    Executed keywords will be shown in the output.

  • -i, --inspect

    Activate inspection mode. This forces a prompt to appear after the REPL script is executed.

  • -d, --outputdir DIR

    Where to create output files. See robot --outputdir option.

  • -o, --output FILE

    XML output file. See robot --output option.

  • -r, --report FILE

    HTML output file. See robot --report option.

  • -l, --log FILE

    HTML log file. See robot --log option.

  • -x, --xunit FILE

    xUnit output file. See robot --xunit option.

  • -s, --source FILE

    Run the session as if its keywords were written in FILE: ${CURDIR} is the directory of FILE, ${SUITE SOURCE} is FILE and, on Robot Framework 7.4 and newer, relative paths in Import Resource, Import Library, and Import Variables resolve against that directory. A relative FILE is resolved against the directory the command is started from. The file itself is never read or written, so the path doesn't need to exist.

  • --statusrc / --nostatusrc

    Exit with 1 if a statement failed without being handled, otherwise 0, in any session (--statusrc), or exit with 0 regardless of failures (--nostatusrc). Both override no-status-rc from the configuration. Without either option only non-interactive sessions (piped input, or FILES without --inspect) exit with 1 after such a failure, unless the configuration switches this off. A code given to .exit takes precedence.

  • --debugger-attached / --no-debugger-attached

    Whether the debugger is active. While detached nothing pauses — a failing keyword just prints its error and you stay at the prompt — but breakpoints and exception filters stay configured. Default: attached for robot-debug; for repl detached, unless a pause trigger (--break, a --break-on-* flag) is given. Toggle at runtime with .debug on / .debug off.

  • --break LOCATION *

    Break at LOCATION — a file:line, or a keyword name or glob pattern matched like Robot Framework. Repeatable.

  • --break-on-exception / --no-break-on-exception

    Break at an uncaught failing keyword (not caught by TRY/EXCEPT or Run Keyword And …), before the failure unwinds. Armed by default; it only pauses while the debugger is attached (see --debugger-attached).

  • --break-on-all-exceptions / --no-break-on-all-exceptions

    Break at EVERY failing keyword, even ones caught by TRY/EXCEPT or Run Keyword And …. [default: no-break-on-all-exceptions]

  • --break-on-failed-test / --no-break-on-failed-test

    Break at the end of a failing test. [default: no-break-on-failed-test]

  • --break-on-failed-suite / --no-break-on-failed-suite

    Break at the end of a failing suite. [default: no-break-on-failed-suite]

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Start a REPL server, client can connect to the server and run the REPL scripts.

Usage:

robotcode repl-server [OPTIONS] [FILES]...

Options:

  • --stdio

    Run in stdio mode. (Equivalent to --mode stdio) NOTE: This option is mutually exclusive with options: bind, mode, pipe, pipe-name, pipe-server, port, socket, tcp. [env var: ROBOTCODE_STDIO]

  • --tcp [<ADDRESS>:]<PORT>

    Run in tcp server mode and listen at the given port. (Equivalent to --mode tcp --port <port>) NOTE: This option is mutually exclusive with options: mode, pipe, pipe-name, pipe-server, port, socket, stdio.

  • --socket [<ADDRESS>:]<PORT>

    Run in socket mode and connect to the given port. (Equivalent to --mode socket --port <port>) NOTE: This option is mutually exclusive with options: mode, pipe, pipe-name, pipe-server, port, stdio, tcp.

  • --pipe NAME

    Run in pipe mode and connect to the given pipe name. (Equivalent to --mode pipe --pipe-name <name>) NOTE: This option is mutually exclusive with options: bind, mode, pipe-name, pipe-server, port, socket, stdio, tcp.

  • --pipe-server NAME

    Run in pipe-server mode and listen at the given pipe name. (Equivalent to --mode pipe-server --pipe-name <name>) NOTE: This option is mutually exclusive with options: bind, mode, pipe, pipe-name, port, socket, stdio, tcp.

  • --mode [stdio|tcp|socket|pipe|pipe_server]

    The mode to use for the debug launch server. NOTE: This option is mutually exclusive with options: pipe, pipe-server, socket, stdio, tcp. [env var: ROBOTCODE_MODE; default: STDIO]

  • --port PORT

    The port to listen on or connect to. (Only valid for tcp and socket mode) NOTE: This option is mutually exclusive with options: pipe, pipe-name, pipe-server. [env var: ROBOTCODE_PORT; default: 6601; 1<=x<=65535]

  • --bind ADDRESS *

    Specify alternate bind address. If no address is specified localhost is used. (Only valid for tcp and socket mode) NOTE: This option is mutually exclusive with options: pipe, pipe-name, pipe-server. [env var: ROBOTCODE_BIND; default: 127.0.0.1]

  • --pipe-name NAME

    The pipe to listen on or connect to. (Only valid in pipe and pipe-server mode) NOTE: This option is mutually exclusive with options: bind, pipe, pipe-server, port, socket, stdio, tcp. [env var: ROBOTCODE_PIPE_NAME]

  • -v, --variable name:value *

    Set variables in the test data. see robot --variable option.

  • -V, --variablefile PATH *

    Python or YAML file file to read variables from. see robot --variablefile option.

  • -P, --pythonpath PATH *

    Additional locations where to search test libraries and other extensions when they are imported. see robot --pythonpath option.

  • -d, --outputdir DIR

    Where to create output files. see robot --outputdir option.

  • -o, --output FILE

    XML output file. see robot --output option.

  • -r, --report FILE

    HTML output file. see robot --report option.

  • -l, --log FILE

    HTML log file. see robot --log option.

  • -x, --xunit FILE

    xUnit output file. see robot --xunit option.

  • --version

    Show the version and exit.

  • -s, --source FILE

    Run the session as if its keywords were written in FILE: ${CURDIR} is the directory of FILE, ${SUITE SOURCE} is FILE and, on Robot Framework 7.4 and newer, relative paths in Import Resource, Import Library, and Import Variables resolve against that directory. A relative FILE is resolved against the directory the command is started from. The file itself is never read or written, so the path doesn't need to exist.

  • --help

    Show this message and exit.

Inspect a finished run's output.xml / output.json — counts, failures, and per-test execution tree, without re-running.

The result file is auto-discovered from the active profile's output_dir / output settings; override with -o/--output PATH. Use -f json (or toml) for a structured payload.

Examples:

robotcode results summary
robotcode results summary --failed
robotcode results show --failed
robotcode results log "*Login*"
robotcode --format json results summary

Usage:

robotcode results [OPTIONS] COMMAND [ARGS]...

Options:

  • --help

    Show this message and exit.

Commands:

  • diff

    Compare two output files: status changes plus added/removed tests.

  • log

    Show the execution log of each test: keywords, control flow and messages.

  • show

    List individual tests with status, source and failure message.

  • stats

    Aggregate results by tag, suite, or status.

  • summary

    Print headline counts and overall status for a finished run.

Compare two output files: status changes plus added/removed tests.

If CURRENT is omitted, it is auto-discovered from the active profile so you can diff a saved baseline against the latest run.

Examples:

robotcode results diff baseline.xml
robotcode results diff prev/output.xml curr/output.xml
robotcode results diff baseline.xml --only new-failures
robotcode results diff baseline.xml -i smoke
robotcode results diff baseline.xml --search TimeoutError
robotcode --format json results diff baseline.xml

Usage:

robotcode results diff [OPTIONS] BASELINE [CURRENT]

Options:

  • --status [pass|fail|skip|not-run] *

    Only include tests with one of these statuses.

  • -i, --include TAG_PATTERN *

    Include tests matching the tag pattern. Supports Robot's tag pattern syntax (AND, OR, NOT, *, ?).

  • -e, --exclude TAG_PATTERN *

    Exclude tests matching the tag pattern. Same syntax as --include.

  • -s, --suite NAME *

    Only include tests inside the named suite (glob against full suite name).

  • -t, --test, --task NAME *

    Only include tests whose name matches (glob against full test name). --task is an alias for --test (Robot's RPA terminology).

  • -bl, --by-longname NAME *

    Select tests/tasks or suites by long name (exact match).

  • -ebl, --exclude-by-longname NAME *

    Exclude tests/tasks or suites by long name (exact match).

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Exclude tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --search TEXT

    Only include tests with at least one case-insensitive substring match against TEXT. Searches test name, full name, failure message, documentation, template name, timeout, tags, test metadata names and values, the parent suite's Documentation / Metadata, every executed keyword's name / arguments / [Documentation] / [Tags] / [Timeout] / failure message, and log messages. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include tests with at least one match against PATTERN (Python regular expression, case-sensitive — prefix with (?i) for case-insensitive). Same target fields as --search. Mutually exclusive with --search.

  • --full-paths / --no-full-paths

    Show absolute source paths instead of paths relative to cwd. [default: no-full-paths]

  • --message-chars INTEGER RANGE

    Truncate failure messages to N characters (0 = no truncation). [default: 120; x>=0]

  • --only [new-failures|new-passes|status-changes|added|removed] *

    Restrict output to these categories. Default: all.

  • --help

    Show this message and exit.

Show the execution log of each test: keywords, control flow and messages.

Filter the same way as show — by status, tag, suite, or test name. Without filters, all tests are included. Use --max-depth to collapse deeply nested keyword calls.

Examples:

robotcode results log
robotcode results log --failed
robotcode results log -t "*Login*"
robotcode results log --level WARN
robotcode results log --max-depth 2
robotcode results log -i smoke --extract /tmp/artefacts
robotcode results log --search "TimeoutError"
robotcode results log --execution-messages

Usage:

robotcode results log [OPTIONS]

Options:

  • --status [pass|fail|skip|not-run] *

    Only include tests with one of these statuses.

  • -i, --include TAG_PATTERN *

    Include tests matching the tag pattern. Supports Robot's tag pattern syntax (AND, OR, NOT, *, ?).

  • -e, --exclude TAG_PATTERN *

    Exclude tests matching the tag pattern. Same syntax as --include.

  • -s, --suite NAME *

    Only include tests inside the named suite (glob against full suite name).

  • -t, --test, --task NAME *

    Only include tests whose name matches (glob against full test name). --task is an alias for --test (Robot's RPA terminology).

  • -bl, --by-longname NAME *

    Select tests/tasks or suites by long name (exact match).

  • -ebl, --exclude-by-longname NAME *

    Exclude tests/tasks or suites by long name (exact match).

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Exclude tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --failed

    Shortcut for --status fail. Additive with --status / --passed / --skipped.

  • --passed

    Shortcut for --status pass. Additive with --status / --failed / --skipped.

  • --skipped

    Shortcut for --status skip. Additive with --status / --failed / --passed.

  • --search TEXT

    Only include tests with at least one case-insensitive substring match against TEXT. Searches test name, full name, failure message, documentation, template name, timeout, tags, test metadata names and values, the parent suite's Documentation / Metadata, every executed keyword's name / arguments / [Documentation] / [Tags] / [Timeout] / failure message, and log messages. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include tests with at least one match against PATTERN (Python regular expression, case-sensitive — prefix with (?i) for case-insensitive). Same target fields as --search. Mutually exclusive with --search.

  • -o, --output PATH

    Path to output.xml/output.json (Robot's --output). If omitted, auto-discovered from the active profile's output_dir + output settings (with timestamp glob fallback and ./output.xml as last resort). A directory may also be passed — then auto-discovery happens inside it.

  • --level [trace|debug|info|warn|error|fail]

    Minimum message level to include. [default: INFO]

  • --max-depth N

    Limit nested keyword calls to N levels (0 = unlimited). When a keyword sits below the limit, its body is collapsed and the hidden child count is shown instead. [default: 0; x>=0]

  • --extract DIRECTORY

    Copy/decode referenced artefacts into this directory. Each test's artefacts go into a per-test subdirectory.

  • --full-paths / --no-full-paths

    [default: no-full-paths]

  • --timestamps / --no-timestamps

    Show timestamps next to log messages. [default: no-timestamps]

  • --timing / --no-timing

    Show start time per test/keyword and append start / end / elapsed of the run as a footer. Use --no-timing to suppress. [default: timing]

  • --raw-html / --no-raw-html

    Emit HTML messages as raw markup instead of converting them to plain text. Useful when the HTML is the payload of interest. Embedded base64 images and external file refs are NOT extracted in raw mode. [default: no-raw-html]

  • --execution-messages / --no-execution-messages

    Also show the messages of output.xml's <errors> section that come from outside the tests, such as parsing and import errors. [default: no-execution-messages]

  • --keyword-info / --no-keyword-info

    Include each executed keyword's [Documentation], [Tags] and [Timeout] from the keyword definition. Off by default to keep the log compact. [default: no-keyword-info]

  • --suite-info / --no-suite-info

    Group tests under suite headers (name, source, Documentation, Metadata, status). In JSON, populates suites and a per-test suite reference. Off by default to keep the log compact. [default: no-suite-info]

  • --help

    Show this message and exit.

List individual tests with status, source and failure message.

One line per test: status badge, full name, (path:line) link, and the first line of any failure/skip message.

Examples:

robotcode results show
robotcode results show --failed
robotcode results show --failed --skipped --show-tags
robotcode results show -i smoke -e wipANDnotready
robotcode results show -s "MyProject.Login.*"
robotcode results show --top 20
robotcode results show --search "AssertionError"

Usage:

robotcode results show [OPTIONS]

Options:

  • --status [pass|fail|skip|not-run] *

    Only include tests with one of these statuses.

  • -i, --include TAG_PATTERN *

    Include tests matching the tag pattern. Supports Robot's tag pattern syntax (AND, OR, NOT, *, ?).

  • -e, --exclude TAG_PATTERN *

    Exclude tests matching the tag pattern. Same syntax as --include.

  • -s, --suite NAME *

    Only include tests inside the named suite (glob against full suite name).

  • -t, --test, --task NAME *

    Only include tests whose name matches (glob against full test name). --task is an alias for --test (Robot's RPA terminology).

  • -bl, --by-longname NAME *

    Select tests/tasks or suites by long name (exact match).

  • -ebl, --exclude-by-longname NAME *

    Exclude tests/tasks or suites by long name (exact match).

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Exclude tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --failed

    Shortcut for --status fail. Additive with --status / --passed / --skipped.

  • --passed

    Shortcut for --status pass. Additive with --status / --failed / --skipped.

  • --skipped

    Shortcut for --status skip. Additive with --status / --failed / --passed.

  • --search TEXT

    Only include tests with at least one case-insensitive substring match against TEXT. Searches test name, full name, failure message, documentation, template name, timeout, tags, test metadata names and values, the parent suite's Documentation / Metadata, every executed keyword's name / arguments / [Documentation] / [Tags] / [Timeout] / failure message, and log messages. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include tests with at least one match against PATTERN (Python regular expression, case-sensitive — prefix with (?i) for case-insensitive). Same target fields as --search. Mutually exclusive with --search.

  • -o, --output PATH

    Path to output.xml/output.json (Robot's --output). If omitted, auto-discovered from the active profile's output_dir + output settings (with timestamp glob fallback and ./output.xml as last resort). A directory may also be passed — then auto-discovery happens inside it.

  • --top INTEGER RANGE

    Show at most N tests (0 = no limit, default). [default: 0; x>=0]

  • --message-chars INTEGER RANGE

    Truncate each message to N characters (0 = no truncation). [default: 120; x>=0]

  • --full-paths / --no-full-paths

    Show absolute source paths instead of paths relative to cwd. [default: no-full-paths]

  • --show-tags / --no-show-tags

    Append the tag list after each test. [default: no-show-tags]

  • --show-metadata / --no-show-metadata

    Append the metadata after each test. (Robot Framework 7.5+) [default: no-show-metadata]

  • --timing / --no-timing

    Show start time per test and append start / end / elapsed of the run to the statistics block. Use --no-timing to suppress. [default: timing]

  • --sort FIELD

    Sort tests before display. name/suite = lexicographic full-name/suite. status = FAIL → SKIP → PASS → NOT RUN. elapsed = duration (longest first). start = start time. Default: execution order from the output file.

  • --reverse / --no-reverse

    Reverse the sort order (only applies with --sort). [default: no-reverse]

  • --help

    Show this message and exit.

Aggregate results by tag, suite, or status.

Each section is a table with pass/fail/skip counts and total elapsed per group. Repeat --by to render multiple sections in one go.

Examples:

robotcode results stats
robotcode results stats --by tag
robotcode results stats --by tag --by suite
robotcode results stats --by tag --sort elapsed --top 20
robotcode results stats --by tag --search Browser
robotcode --format json results stats --by tag

Usage:

robotcode results stats [OPTIONS]

Options:

  • --status [pass|fail|skip|not-run] *

    Only include tests with one of these statuses.

  • -i, --include TAG_PATTERN *

    Include tests matching the tag pattern. Supports Robot's tag pattern syntax (AND, OR, NOT, *, ?).

  • -e, --exclude TAG_PATTERN *

    Exclude tests matching the tag pattern. Same syntax as --include.

  • -s, --suite NAME *

    Only include tests inside the named suite (glob against full suite name).

  • -t, --test, --task NAME *

    Only include tests whose name matches (glob against full test name). --task is an alias for --test (Robot's RPA terminology).

  • -bl, --by-longname NAME *

    Select tests/tasks or suites by long name (exact match).

  • -ebl, --exclude-by-longname NAME *

    Exclude tests/tasks or suites by long name (exact match).

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Exclude tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --failed

    Shortcut for --status fail. Additive with --status / --passed / --skipped.

  • --passed

    Shortcut for --status pass. Additive with --status / --failed / --skipped.

  • --skipped

    Shortcut for --status skip. Additive with --status / --failed / --passed.

  • --search TEXT

    Only include tests with at least one case-insensitive substring match against TEXT. Searches test name, full name, failure message, documentation, template name, timeout, tags, test metadata names and values, the parent suite's Documentation / Metadata, every executed keyword's name / arguments / [Documentation] / [Tags] / [Timeout] / failure message, and log messages. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include tests with at least one match against PATTERN (Python regular expression, case-sensitive — prefix with (?i) for case-insensitive). Same target fields as --search. Mutually exclusive with --search.

  • -o, --output PATH

    Path to output.xml/output.json (Robot's --output). If omitted, auto-discovered from the active profile's output_dir + output settings (with timestamp glob fallback and ./output.xml as last resort). A directory may also be passed — then auto-discovery happens inside it.

  • --by [tag|suite|status] *

    Group tests by this attribute (one section per value). [default: status]

  • --sort [name|total|failed|elapsed]

    Within each section: sort groups by this metric (descending). [default: failed]

  • --top INTEGER RANGE

    Show at most N groups per section (0 = all). [default: 0; x>=0]

  • --help

    Show this message and exit.

Print headline counts and overall status for a finished run.

Pass --failed to also list failed tests below the counts. Filter options narrow what is counted.

Examples:

robotcode results summary
robotcode results summary --failed
robotcode results summary -i smoke --status fail
robotcode results summary --search TimeoutError
robotcode --format json results summary

Usage:

robotcode results summary [OPTIONS]

Options:

  • --status [pass|fail|skip|not-run] *

    Only include tests with one of these statuses.

  • -i, --include TAG_PATTERN *

    Include tests matching the tag pattern. Supports Robot's tag pattern syntax (AND, OR, NOT, *, ?).

  • -e, --exclude TAG_PATTERN *

    Exclude tests matching the tag pattern. Same syntax as --include.

  • -s, --suite NAME *

    Only include tests inside the named suite (glob against full suite name).

  • -t, --test, --task NAME *

    Only include tests whose name matches (glob against full test name). --task is an alias for --test (Robot's RPA terminology).

  • -bl, --by-longname NAME *

    Select tests/tasks or suites by long name (exact match).

  • -ebl, --exclude-by-longname NAME *

    Exclude tests/tasks or suites by long name (exact match).

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Exclude tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --search TEXT

    Only include tests with at least one case-insensitive substring match against TEXT. Searches test name, full name, failure message, documentation, template name, timeout, tags, test metadata names and values, the parent suite's Documentation / Metadata, every executed keyword's name / arguments / [Documentation] / [Tags] / [Timeout] / failure message, and log messages. Mutually exclusive with --search-regex.

  • --search-regex PATTERN

    Only include tests with at least one match against PATTERN (Python regular expression, case-sensitive — prefix with (?i) for case-insensitive). Same target fields as --search. Mutually exclusive with --search.

  • -o, --output PATH

    Path to output.xml/output.json (Robot's --output). If omitted, auto-discovered from the active profile's output_dir + output settings (with timestamp glob fallback and ./output.xml as last resort). A directory may also be passed — then auto-discovery happens inside it.

  • --failed / --no-failed

    Include the list of failed tests (with messages) below the counts table. [default: no-failed]

  • --full-paths / --no-full-paths

    Show absolute source paths instead of paths relative to cwd. [default: no-full-paths]

  • --help

    Show this message and exit.

Runs robot with the selected configuration, profiles, options and arguments.

The options and arguments are passed to robot as is.

Examples:

robotcode robot
robotcode robot tests
robotcode robot -i regression -e wip tests
robotcode --profile ci robot -i regression -e wip tests

Usage:

robotcode robot [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Run a real Robot Framework suite with the debugger attached (alias run- debug).

Takes the same arguments as robotcode robot, but pauses at breakpoints so you can inspect and step through the run at a debug prompt.

Usage:

robotcode robot-debug [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --no-history

    Don't load or save the persistent history file. In-session arrow-up recall still works, but nothing crosses session boundaries. Useful for AI-agent invocations or quick spike sessions you don't want polluting your shell's REPL history.

  • --backend [auto|prompt-toolkit|plain]

    Force a specific input backend instead of auto-picking. auto and prompt-toolkit both pick the prompt-toolkit-driven interpreter (completion, syntax highlighting, history, doc viewer). plain drops to a bare input() prompt — useful when ANSI escapes or popups would interfere with the surrounding capture. [default: auto]

  • --plain

    Shorthand for --backend=plain. Disables all prompt enhancements — completion, syntax highlighting, candidate popup, auto-suggest, history file. The prompt becomes a bare input() call. Recommended for AI-agent invocations, automation pipelines, and any context where ANSI escapes or completion popups would interfere with stdin/stdout capture. Conflicts with --backend=<other>.

  • -bl, --by-longname TEXT *

    Select tests/tasks or suites by longname.

  • -ebl, --exclude-by-longname TEXT *

    Excludes tests/tasks or suites by longname.

  • -btm, --by-test-metadata PATTERN *

    Select tests/tasks by their metadata, for example Issue:4409 AND Author:Hans*. (Robot Framework 7.5+)

  • -ebtm, --exclude-by-test-metadata PATTERN *

    Excludes tests/tasks by their metadata. Same patterns as --by-test-metadata. (Robot Framework 7.5+)

  • --debugger-attached / --no-debugger-attached

    Whether the debugger is active. While detached nothing pauses — a failing keyword just prints its error and you stay at the prompt — but breakpoints and exception filters stay configured. Default: attached for robot-debug; for repl detached, unless a pause trigger (--break, a --break-on-* flag) is given. Toggle at runtime with .debug on / .debug off.

  • --break LOCATION *

    Break at LOCATION — a file:line, or a keyword name or glob pattern matched like Robot Framework. Repeatable.

  • --break-on-exception / --no-break-on-exception

    Break at an uncaught failing keyword (not caught by TRY/EXCEPT or Run Keyword And …), before the failure unwinds. Armed by default; it only pauses while the debugger is attached (see --debugger-attached).

  • --break-on-all-exceptions / --no-break-on-all-exceptions

    Break at EVERY failing keyword, even ones caught by TRY/EXCEPT or Run Keyword And …. [default: no-break-on-all-exceptions]

  • --break-on-failed-test / --no-break-on-failed-test

    Break at the end of a failing test. [default: no-break-on-failed-test]

  • --break-on-failed-suite / --no-break-on-failed-suite

    Break at the end of a failing suite. [default: no-break-on-failed-suite]

  • --stop-on-entry

    Break at the very first step.

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Use -- --help to see robot help.

Runs testdoc with the selected configuration, profiles, options and arguments.

The options and arguments are passed to testdoc as is.

Usage:

robotcode testdoc [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...

Options:

  • --version

    Show the version and exit.

  • --help

    Show this message and exit.

Use -- --help to see testdoc help.

The commands that run Robot Framework answer with Robot Framework's exit codes. These are the commands that wrap a standard Robot Framework tool (robot, rebot, libdoc, testdoc) and the commands that run Robot Framework themselves (debug, robot-debug, repl, repl-server).

Exit code Meaning
0 All tests passed, or the command succeeded.
1–249 The number of failed tests.
250 250 or more tests failed.
251 Help, version information or a dry run (robotcode --dry …) was printed.
252 Invalid data or command line options. This includes the errors RobotCode reports itself, such as an invalid robot.toml, an unknown option or a wrapper that can't be started.
253 The run was stopped by the user.
255 An unexpected internal error.

libdoc and testdoc don't count tests; they exit with 0 when the documentation was written. repl sets its exit code from the session status, see Exit code and session status.

The other commands use exit codes of their own: analyze code reports the severities it found as a bitmask (see Exit codes), and doc lists its codes under When a target cannot be loaded. All other commands exit with 0 on success and with another code on errors.

The command reference above is generated directly from the CLI, so it always matches the installed version. To get the same information on the command line, append --help to any command or sub-command, for example robotcode analyze --help or robotcode results summary --help.

For the commands that wrap a standard Robot Framework tool (robot, rebot, libdoc, testdoc), use -- --help to see the help of the underlying tool, e.g. robotcode robot -- --help.

  • Configuration — how robot.toml and profiles work, the foundation for the config and profiles commands.
  • Discovering Tests — details on the discover command.
  • Analyzing Results — working with the analyze and results commands.
  • REPL — using the interactive repl shell.

Released under the Apache-2.0. Copyright © 2022-present Daniel Biehl