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:
-
robotcodeCore Package: Always installed, the core package provides the top-levelrobotcodecommand 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 mergedrobot.tomlconfiguration 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.
- Commands:
-
runnerPackage: 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 forrobot.tomlconfiguration 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'soutput.xml/output.json— summaries, failures, the per-test execution log, and diffs between two runs — without re-executing the tests.
- Commands:
-
analyzePackage: This package provides tools for detailed inspection and validation of Robot Framework code, helping users identify errors and improve code quality. Theanalyzepackage 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.
- Commands:
-
debuggerPackage: 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.
- Commands:
-
replPackage: 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.robotsuite 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.
- Commands:
-
language-serverPackage: 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.
- Commands:
Installation
Section titled “Installation”To install the core robotcode CLI tool, use pip:
pip install robotcodeThis command installs only the main package. For specific functionality, additional packages can be installed as needed:
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:
pip install "robotcode[all]"This includes additional tools, such as robocop for linting and formatting, which further enhance the development experience with Robot Framework.
Commands
Section titled “Commands”The following sections outline all available commands, their usage, and the corresponding options. Options with and asterisk (*) can be specified multiple times.
robotcode
Section titled “robotcode”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 DIRECTORYSpecifies the root path to be used for the project. It will be automatically detected if not provided. [env var: ROBOTCODE_ROOT]
-
--no-vcsIgnore 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, --dryDry run, do not execute any commands. [env var: ROBOTCODE_DRY]
-
--color / --no-colorEnable or disable colored output. Color codes are written only to a terminal; set
FORCE_COLORto get them in a pipe. Default (no flag): auto-detect — colors only when stdout is a TTY, disabled ifNO_COLORis set, forced ifFORCE_COLORis set. [env var: ROBOTCODE_COLOR] -
--pager / --no-pagerForce 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, --verboseEnables verbose mode. [env var: ROBOTCODE_VERBOSE]
-
--wrapper TEXTCommand 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'swrapper. [env var: ROBOTCODE_WRAPPER] -
--no-wrapperDisable any configured
wrapper(profile or --wrapper) for this run. -
--logEnables 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 TEXTSets 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 FILEWrite log output to a file instead to console. [env var: ROBOTCODE_LOG_FILENAME]
-
--log-callsEnables logging of method/function calls. [env var: ROBOTCODE_LOG_CALLS]
-
--log-config FILEPath 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]
-
--versionShow the version and exit.
-
--helpShow this message and exit.
Commands:
-
The analyze command provides various subcommands for analyzing Robot Framework code.
-
Shows information about the configuration.
-
Starts a Robot Framework debug session and waits for incomming connections.
-
Commands to discover informations about the current project.
-
Show the documentation of a library, resource file or suite file.
-
Run Robot Framework Language Server.
-
Runs
libdocwith the selected configuration, profiles, options and arguments. -
Shows information on defined profiles.
-
Runs
rebotwith the selected configuration, profiles, options and arguments. -
Run Robot Framework interactively (alias
shell). -
Start a REPL server, client can connect to the server and run the REPL scripts.
-
Inspect a finished run's
output.xml/output.json— counts, failures, and per-test execution tree, without re-running. -
Runs
robotwith the selected configuration, profiles, options and arguments. -
Run a real Robot Framework suite with the debugger attached (alias
run-debug). -
Runs
testdocwith the selected configuration, profiles, options and arguments.
Aliases:
-
Run Robot Framework interactively (alias
shell). -
Runs
robotwith the selected configuration, profiles, options and arguments. -
Run a real Robot Framework suite with the debugger attached (alias
run-debug).
analyze
Section titled “analyze”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:
-
--versionShow the version and exit.
-
--helpShow this message and exit.
Commands:
-
Manage the RobotCode analysis cache.
-
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:
-
--helpShow this message and exit.
Commands:
-
Clear the analysis cache.
-
Show cache statistics.
-
List cached entries.
-
Print the cache directory path.
-
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.
-
--helpShow 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:
-
--helpShow 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.
-
--helpShow 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:
-
--helpShow 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:
-
--forceForce prune even if cache is in use by another process.
-
--helpShow 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 coderobotcode analyze code --filter **/*.robotrobotcode analyze code tests/acceptance/first.robotrobotcode analyze code -mi DuplicateKeyword tests/acceptance/first.robotrobotcode --format json analyze codeUsage:
robotcode analyze code [OPTIONS] [PATHS]...Options:
-
--versionShow 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 --variableoption. -
-V, --variablefile PATH *Python or YAML file file to read variables from. see
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. see
robot --pythonpathoption. -
-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 SECONDSTimeout (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-unusedEnable or disable collection of unused keyword and unused variable diagnostics. Overrides the config file setting when specified.
-
--cache-namespaces / --no-cache-namespacesEnable 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-tracebacksInclude 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-pathsShow 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
--formatfor this command.concise(default) is the human-readable text output;sarifemits a SARIF 2.1.0 log;githubemits GitHub Actions workflow annotations;gitlabemits a GitLab Code Quality report. -
--output-file FILEWrite the report to FILE instead of stdout. Useful with
--output-format sarif/gitlabto produce an artifact for CI upload. -
--helpShow this message and exit.
config
Section titled “config”Shows information about the configuration.
Usage:
robotcode config [OPTIONS] COMMAND [ARGS]...Options:
-
--helpShow this message and exit.
Commands:
-
Search for configuration files and list them.
-
Shows informations about possible configuration settings.
-
Searches for the root folder of the project and prints them.
-
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 filesrobotcode config files tests/acceptance/first.robotUsage:
robotcode config files [OPTIONS] [PATHS]... [USER]Options:
-
--helpShow this message and exit.
Shows informations about possible configuration settings.
Usage:
robotcode config info [OPTIONS] COMMAND [ARGS]...Options:
-
--helpShow this message and exit.
Commands:
-
Shows the description of the specified configuration settings.
-
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 descrobotcode config info desc python-pathrobotcode config info desc rebot.*robotcode config info desc *tag*Usage:
robotcode config info desc [OPTIONS] [NAME]...Options:
-
--helpShow this message and exit.
Lists all possible configuration settings.
If NAME is given searches for given name. Wildcards are supported.
Examples:
robotcode config info listrobotcode config info list rebot.*robotcode config info list *tag*Usage:
robotcode config info list [OPTIONS] [NAME]...Options:
-
--helpShow 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 rootrobotcode config root tests/acceptance/first.robotUsage:
robotcode config root [OPTIONS] [PATHS]...Options:
-
--helpShow 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 showrobotcode config show tests/acceptance/first.robotrobotcode --format json config showUsage:
robotcode config show [OPTIONS] [PATHS]...Options:
-
-s, --singleShows single files, not the combined config.
-
--helpShow 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-debugEnable/disable debug mode [default: debug]
-
--stop-on-entry / --no-stop-on-entryBreaks into debugger when a robot framework run starts. [default: no-stop-on-entry]
-
--wait-for-client / --no-wait-for-clientWaits until a debug client is connected. [env var: ROBOTCODE_WAIT_FOR_CLIENT; default: wait-for-client]
-
--wait-for-client-timeout FLOATTimeout in seconds for waiting for a connection with a debug client. [env var: ROBOTCODE_WAIT_FOR_CLIENT_TIMEOUT; default: 15]
-
--configuration-done-timeout FLOATTimeout to wait for a configuration from client. [env var: ROBOTCODE_CONFIGURATION_DONE_TIMEOUT; default: 15]
-
--debugpy / --no-debugpyEnable/disable python debugging. [env var: ROBOTCODE_DEBUGPY; default: no-debugpy]
-
--debugpy-wait-for-client / --no-debugpy-wait-for-clientWaits for a debugpy client to connect. [env var: ROBOTCODE_DEBUGPY_WAIT_FOR_CLIENT]
-
--debugpy-port INTEGERThe port for the debugpy session. [default: 5678]
-
--output-messages / --no-output-messagesSend output messages from robot framework to client. [default: no-output-messages]
-
--output-log / --no-output-logSend log messages from robotframework to client. [default: output-log]
-
--output-timestamps / --no-output-timestampsInclude timestamps in log and output messages. [default: no-output-timestamps]
-
--group-output / --no-group-outputFold/group messages or log messages. [default: no-group-output]
-
--tcp [<ADDRESS>:]<PORT>Run in
tcpserver 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 NAMERun in
pipe-servermode 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 PORTThe port to listen on or connect to. (Only valid for
tcpandsocket 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
localhostis 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 NAMEThe pipe to listen on or connect to. (Only valid in
pipeandpipe-servermode) NOTE: This option is mutually exclusive with options: bind, pipe-server, port, tcp. [env var: ROBOTCODE_PIPE_NAME] -
--versionShow the version and exit.
-
--helpShow this message and exit.
discover
Section titled “discover”Commands to discover informations about the current project.
Examples:
robotcode discover testsrobotcode --profile regression discover testsUsage:
robotcode discover [OPTIONS] COMMAND [ARGS]...Options:
-
--diagnostics / --no-diagnosticsList the full
robotparsing errors and warnings before the results. [default: no-diagnostics] -
--versionShow the version and exit.
-
--helpShow this message and exit.
Commands:
-
Discover suites, tests, tasks with the selected configuration, profiles, options and arguments.
-
Shows all files that are used to discover the tests.
-
Shows some informations about the current robot environment.
-
Discover the metadata of tests, tasks and suites with the selected configuration, profiles, options and arguments. (Robot Framework 7.5+)
-
Discover suites with the selected configuration, profiles, options and arguments.
-
Discover tags with the selected configuration, profiles, options and arguments.
-
Discover tasks with the selected configuration, profiles, options and arguments.
-
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 allrobotcode --profile regression discover allrobotcode --profile regression discover all --include regression --exclude wipANDnotreadyUsage:
robotcode discover all [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...Options:
-
--show-tags / --no-show-tagsShow the tags that are present. [default: show-tags]
-
--show-metadata / --no-show-metadataShow 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+) -
--versionShow the version and exit.
-
--search TEXTOnly 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 PATTERNOnly 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-pathsShow full paths instead of relative. [default: no-full-paths]
-
--helpShow 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-pathsShow full paths instead of relative. [default: no-full-paths]
-
--search TEXTOnly 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 PATTERNOnly 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. -
--helpShow this message and exit.
Shows some informations about the current robot environment.
Examples:
robotcode discover infoUsage:
robotcode discover info [OPTIONS]Options:
-
--helpShow this message and exit.
metadata
Section titled “metadata”(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 metadatarobotcode discover metadata --values --testsrobotcode --format json discover metadataUsage:
robotcode discover metadata [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...Options:
-
--values / --no-valuesShow the values of each metadata name. [default: no-values]
-
--tests / --no-testsShow the tests that have the metadata. [default: no-tests]
-
--tasks / --no-tasksShow the tasks that have the metadata. [default: no-tasks]
-
--suites / --no-suitesShow the suites that have the metadata. [default: no-suites]
-
--full-paths / --no-full-pathsShow 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+) -
--versionShow the version and exit.
-
--search TEXTOnly 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 PATTERNOnly 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. -
--helpShow this message and exit.
Use -- --help to see robot help.
suites
Section titled “suites”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 suitesrobotcode --profile regression discover suitesrobotcode --profile regression discover suites --include regression --exclude wipANDnotreadyUsage:
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+) -
--versionShow the version and exit.
-
--search TEXTOnly 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 PATTERNOnly 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-pathsShow full paths instead of relative. [default: no-full-paths]
-
--helpShow 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 tagsrobotcode --profile regression discover tags
robotcode --profile regression discover tags --tests -i wip ```
**Usage:**```textrobotcode discover tags [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...Options:
-
--normalized / --not-normalizedWhether or not normalized tags are shown. [default: normalized]
-
--tests / --no-testsShow tests where the tag is present. [default: no-tests]
-
--tasks / --no-tasksShow tasks where the tag is present. [default: no-tasks]
-
--full-paths / --no-full-pathsShow 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+) -
--versionShow the version and exit.
-
--search TEXTOnly 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 PATTERNOnly 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. -
--helpShow 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 tasksrobotcode --profile regression discover tasksrobotcode --profile regression discover tasks --include regression --exclude wipANDnotreadyUsage:
robotcode discover tasks [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...Options:
-
--show-tags / --no-show-tagsShow the tags that are present. [default: no-show-tags]
-
--show-metadata / --no-show-metadataShow the metadata of tests and tasks. (Robot Framework 7.5+) [default: no-show-metadata]
-
--full-paths / --no-full-pathsShow 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+) -
--versionShow the version and exit.
-
--search TEXTOnly 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 PATTERNOnly 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. -
--helpShow 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 testsrobotcode --profile regression discover testsrobotcode --profile regression discover tests --include regression --exclude wipANDnotreadyUsage:
robotcode discover tests [OPTIONS] [ROBOT_OPTIONS_AND_ARGS]...Options:
-
--show-tags / --no-show-tagsShow the tags that are present. [default: no-show-tags]
-
--show-metadata / --no-show-metadataShow the metadata of tests and tasks. (Robot Framework 7.5+) [default: no-show-metadata]
-
--full-paths / --no-full-pathsShow 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+) -
--versionShow the version and exit.
-
--search TEXTOnly 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 PATTERNOnly 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. -
--helpShow 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 Collectionsrobotcode doc keywords Collections dictionaryrobotcode doc keyword BuiltIn "Should Be*"robotcode doc browse resources/common.resourcerobotcode --format json doc lib 'Remote::http://${HOST}:8270'Usage:
robotcode doc [OPTIONS] COMMAND [ARGS]...Options:
-
--helpShow this message and exit.
Commands:
-
Browse the full documentation of TARGET in the terminal.
-
Show the full documentation of keywords of TARGET.
-
List the keywords of TARGET with their arguments and short documentation.
-
Show the full documentation of TARGET.
browse
Section titled “browse”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 Collectionsrobotcode doc browse resources/common.resourceUsage:
robotcode doc browse [OPTIONS] TARGETOptions:
-
-v, --variable name:value *Set variables in the test data. See
robot --variableoption. -
-V, --variablefile PATH *Python or YAML file to read variables from. See
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. See
robot --pythonpathoption. -
--language LANG *Activate localization in addition to the languages of the configuration. See
robot --languageoption. -
--base-dir DIRECTORYThe directory for
${CURDIR}and relative paths in TARGET. Default: the current directory. -
--helpShow this message and exit.
keyword
Section titled “keyword”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 --variableoption. -
-V, --variablefile PATH *Python or YAML file to read variables from. See
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. See
robot --pythonpathoption. -
--language LANG *Activate localization in addition to the languages of the configuration. See
robot --languageoption. -
--base-dir DIRECTORYThe directory for
${CURDIR}and relative paths in TARGET. Default: the current directory. -
-o, --output FILEWrite the Markdown to this file instead of the terminal.
-
--helpShow this message and exit.
keywords
Section titled “keywords”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 Collectionsrobotcode doc keywords Collections dictionaryrobotcode doc keywords Collections "get*list"robotcode doc keywords Collections append insertrobotcode doc keywords resources/common.resource --tag smokeUsage:
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 --variableoption. -
-V, --variablefile PATH *Python or YAML file to read variables from. See
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. See
robot --pythonpathoption. -
--language LANG *Activate localization in addition to the languages of the configuration. See
robot --languageoption. -
--base-dir DIRECTORYThe directory for
${CURDIR}and relative paths in TARGET. Default: the current directory. -
-o, --output FILEWrite the Markdown to this file instead of the terminal.
-
--helpShow 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 Collectionsrobotcode doc lib -o common.md resources/common.resourcerobotcode --format json doc lib 'MyLibrary::arg1'Usage:
robotcode doc lib [OPTIONS] TARGETOptions:
-
-v, --variable name:value *Set variables in the test data. See
robot --variableoption. -
-V, --variablefile PATH *Python or YAML file to read variables from. See
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. See
robot --pythonpathoption. -
--language LANG *Activate localization in addition to the languages of the configuration. See
robot --languageoption. -
--base-dir DIRECTORYThe directory for
${CURDIR}and relative paths in TARGET. Default: the current directory. -
-o, --output FILEWrite the Markdown to this file instead of the terminal.
-
--helpShow this message and exit.
language-server
Section titled “language-server”Run Robot Framework Language Server.
Usage:
robotcode language-server [OPTIONS] [PATHS]...Options:
-
--stdioRun in
stdiomode. (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
tcpserver 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
socketmode 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 NAMERun in
pipemode 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 PORTThe port to listen on or connect to. (Only valid for
tcpandsocket 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
localhostis 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 NAMEThe pipe to listen on or connect to. (Only valid in
pipeandpipe-servermode) NOTE: This option is mutually exclusive with options: bind, pipe, port, socket, stdio, tcp. [env var: ROBOTCODE_PIPE_NAME] -
--versionShow the version and exit.
-
--helpShow this message and exit.
libdoc
Section titled “libdoc”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:
-
--versionShow the version and exit.
-
--helpShow this message and exit.
Use -- --help to see the libdoc help.
profiles
Section titled “profiles”Shows information on defined profiles.
Usage:
robotcode profiles [OPTIONS] COMMAND [ARGS]...Options:
-
--helpShow this message and exit.
Commands:
-
Lists the defined profiles in the current configuration.
-
Shows the given profile configuration.
Lists the defined profiles in the current configuration.
Usage:
robotcode profiles list [OPTIONS] [PATHS]...Options:
-
-h, --show-hiddenShow hidden profiles.
-
-sp, --sort-by-precedenceSort by precedence.
-
--helpShow this message and exit.
Shows the given profile configuration.
Usage:
robotcode profiles show [OPTIONS] [PATHS]...Options:
-
-n, --no-evaluateDon't evaluate expressions in the profile.
-
--helpShow 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:
-
--versionShow the version and exit.
-
--helpShow 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-historyDon'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.
autoandprompt-toolkitboth pick the prompt-toolkit-driven interpreter (completion, syntax highlighting, history, doc viewer).plaindrops to a bareinput()prompt — useful when ANSI escapes or popups would interfere with the surrounding capture. [default: auto] -
--plainShorthand for
--backend=plain. Disables all prompt enhancements — completion, syntax highlighting, candidate popup, auto-suggest, history file. The prompt becomes a bareinput()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 --variableoption. -
-V, --variablefile PATH *Python or YAML file to read variables from. See
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. See
robot --pythonpathoption. -
-k, --show-keywordsExecuted keywords will be shown in the output.
-
-i, --inspectActivate inspection mode. This forces a prompt to appear after the REPL script is executed.
-
-d, --outputdir DIRWhere to create output files. See
robot --outputdiroption. -
-o, --output FILEXML output file. See
robot --outputoption. -
-r, --report FILEHTML output file. See
robot --reportoption. -
-l, --log FILEHTML log file. See
robot --logoption. -
-x, --xunit FILExUnit output file. See
robot --xunitoption. -
-s, --source FILERun 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 inImport Resource,Import Library, andImport Variablesresolve 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 / --nostatusrcExit with 1 if a statement failed without being handled, otherwise 0, in any session (
--statusrc), or exit with 0 regardless of failures (--nostatusrc). Both overrideno-status-rcfrom 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.exittakes precedence. -
--debugger-attached / --no-debugger-attachedWhether 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; forrepldetached, 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-exceptionBreak 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-exceptionsBreak 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-testBreak at the end of a failing test. [default: no-break-on-failed-test]
-
--break-on-failed-suite / --no-break-on-failed-suiteBreak at the end of a failing suite. [default: no-break-on-failed-suite]
-
--versionShow the version and exit.
-
--helpShow this message and exit.
repl-server
Section titled “repl-server”Start a REPL server, client can connect to the server and run the REPL scripts.
Usage:
robotcode repl-server [OPTIONS] [FILES]...Options:
-
--stdioRun in
stdiomode. (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
tcpserver 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
socketmode 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 NAMERun in
pipemode 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 NAMERun in
pipe-servermode 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 PORTThe port to listen on or connect to. (Only valid for
tcpandsocket 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
localhostis 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 NAMEThe pipe to listen on or connect to. (Only valid in
pipeandpipe-servermode) 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 --variableoption. -
-V, --variablefile PATH *Python or YAML file file to read variables from. see
robot --variablefileoption. -
-P, --pythonpath PATH *Additional locations where to search test libraries and other extensions when they are imported. see
robot --pythonpathoption. -
-d, --outputdir DIRWhere to create output files. see
robot --outputdiroption. -
-o, --output FILEXML output file. see
robot --outputoption. -
-r, --report FILEHTML output file. see
robot --reportoption. -
-l, --log FILEHTML log file. see
robot --logoption. -
-x, --xunit FILExUnit output file. see
robot --xunitoption. -
--versionShow the version and exit.
-
-s, --source FILERun 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 inImport Resource,Import Library, andImport Variablesresolve 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. -
--helpShow this message and exit.
results
Section titled “results”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 summaryrobotcode results summary --failedrobotcode results show --failedrobotcode results log "*Login*"robotcode --format json results summaryUsage:
robotcode results [OPTIONS] COMMAND [ARGS]...Options:
-
--helpShow this message and exit.
Commands:
-
Compare two output files: status changes plus added/removed tests.
-
Show the execution log of each test: keywords, control flow and messages.
-
List individual tests with status, source and failure message.
-
Aggregate results by tag, suite, or status.
-
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.xmlrobotcode results diff prev/output.xml curr/output.xmlrobotcode results diff baseline.xml --only new-failuresrobotcode results diff baseline.xml -i smokerobotcode results diff baseline.xml --search TimeoutErrorrobotcode --format json results diff baseline.xmlUsage:
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).
--taskis 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 TEXTOnly 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 PATTERNOnly 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-pathsShow absolute source paths instead of paths relative to cwd. [default: no-full-paths]
-
--message-chars INTEGER RANGETruncate 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.
-
--helpShow 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 logrobotcode results log --failedrobotcode results log -t "*Login*"robotcode results log --level WARNrobotcode results log --max-depth 2robotcode results log -i smoke --extract /tmp/artefactsrobotcode results log --search "TimeoutError"robotcode results log --execution-messagesUsage:
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).
--taskis 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+) -
--failedShortcut for
--status fail. Additive with--status/--passed/--skipped. -
--passedShortcut for
--status pass. Additive with--status/--failed/--skipped. -
--skippedShortcut for
--status skip. Additive with--status/--failed/--passed. -
--search TEXTOnly 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 PATTERNOnly 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 PATHPath to output.xml/output.json (Robot's
--output). If omitted, auto-discovered from the active profile'soutput_dir+outputsettings (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 NLimit 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 DIRECTORYCopy/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-timestampsShow timestamps next to log messages. [default: no-timestamps]
-
--timing / --no-timingShow start time per test/keyword and append start / end / elapsed of the run as a footer. Use
--no-timingto suppress. [default: timing] -
--raw-html / --no-raw-htmlEmit 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-messagesAlso 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-infoInclude 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-infoGroup tests under suite headers (name, source, Documentation, Metadata, status). In JSON, populates
suitesand a per-testsuitereference. Off by default to keep the log compact. [default: no-suite-info] -
--helpShow 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 showrobotcode results show --failedrobotcode results show --failed --skipped --show-tagsrobotcode results show -i smoke -e wipANDnotreadyrobotcode results show -s "MyProject.Login.*"robotcode results show --top 20robotcode 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).
--taskis 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+) -
--failedShortcut for
--status fail. Additive with--status/--passed/--skipped. -
--passedShortcut for
--status pass. Additive with--status/--failed/--skipped. -
--skippedShortcut for
--status skip. Additive with--status/--failed/--passed. -
--search TEXTOnly 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 PATTERNOnly 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 PATHPath to output.xml/output.json (Robot's
--output). If omitted, auto-discovered from the active profile'soutput_dir+outputsettings (with timestamp glob fallback and ./output.xml as last resort). A directory may also be passed — then auto-discovery happens inside it. -
--top INTEGER RANGEShow at most N tests (0 = no limit, default). [default: 0; x>=0]
-
--message-chars INTEGER RANGETruncate each message to N characters (0 = no truncation). [default: 120; x>=0]
-
--full-paths / --no-full-pathsShow absolute source paths instead of paths relative to cwd. [default: no-full-paths]
-
--show-tags / --no-show-tagsAppend the tag list after each test. [default: no-show-tags]
-
--show-metadata / --no-show-metadataAppend the metadata after each test. (Robot Framework 7.5+) [default: no-show-metadata]
-
--timing / --no-timingShow start time per test and append start / end / elapsed of the run to the statistics block. Use
--no-timingto suppress. [default: timing] -
--sort FIELDSort 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-reverseReverse the sort order (only applies with
--sort). [default: no-reverse] -
--helpShow 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 statsrobotcode results stats --by tagrobotcode results stats --by tag --by suiterobotcode results stats --by tag --sort elapsed --top 20robotcode results stats --by tag --search Browserrobotcode --format json results stats --by tagUsage:
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).
--taskis 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+) -
--failedShortcut for
--status fail. Additive with--status/--passed/--skipped. -
--passedShortcut for
--status pass. Additive with--status/--failed/--skipped. -
--skippedShortcut for
--status skip. Additive with--status/--failed/--passed. -
--search TEXTOnly 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 PATTERNOnly 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 PATHPath to output.xml/output.json (Robot's
--output). If omitted, auto-discovered from the active profile'soutput_dir+outputsettings (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 RANGEShow at most N groups per section (0 = all). [default: 0; x>=0]
-
--helpShow this message and exit.
summary
Section titled “summary”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 summaryrobotcode results summary --failedrobotcode results summary -i smoke --status failrobotcode results summary --search TimeoutErrorrobotcode --format json results summaryUsage:
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).
--taskis 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 TEXTOnly 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 PATTERNOnly 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 PATHPath to output.xml/output.json (Robot's
--output). If omitted, auto-discovered from the active profile'soutput_dir+outputsettings (with timestamp glob fallback and ./output.xml as last resort). A directory may also be passed — then auto-discovery happens inside it. -
--failed / --no-failedInclude the list of failed tests (with messages) below the counts table. [default: no-failed]
-
--full-paths / --no-full-pathsShow absolute source paths instead of paths relative to cwd. [default: no-full-paths]
-
--helpShow 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 robotrobotcode robot testsrobotcode robot -i regression -e wip testsrobotcode --profile ci robot -i regression -e wip testsUsage:
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+) -
--versionShow the version and exit.
-
--helpShow this message and exit.
Use -- --help to see robot help.
robot-debug
Section titled “robot-debug”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-historyDon'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.
autoandprompt-toolkitboth pick the prompt-toolkit-driven interpreter (completion, syntax highlighting, history, doc viewer).plaindrops to a bareinput()prompt — useful when ANSI escapes or popups would interfere with the surrounding capture. [default: auto] -
--plainShorthand for
--backend=plain. Disables all prompt enhancements — completion, syntax highlighting, candidate popup, auto-suggest, history file. The prompt becomes a bareinput()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-attachedWhether 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; forrepldetached, 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-exceptionBreak 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-exceptionsBreak 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-testBreak at the end of a failing test. [default: no-break-on-failed-test]
-
--break-on-failed-suite / --no-break-on-failed-suiteBreak at the end of a failing suite. [default: no-break-on-failed-suite]
-
--stop-on-entryBreak at the very first step.
-
--versionShow the version and exit.
-
--helpShow this message and exit.
Use -- --help to see robot help.
testdoc
Section titled “testdoc”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:
-
--versionShow the version and exit.
-
--helpShow this message and exit.
Use -- --help to see testdoc help.
Exit codes
Section titled “Exit codes”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.
Getting Help
Section titled “Getting Help”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.
See Also
Section titled “See Also”- Configuration — how
robot.tomland profiles work, the foundation for theconfigandprofilescommands. - Discovering Tests — details on the
discovercommand. - Analyzing Results — working with the
analyzeandresultscommands. - REPL — using the interactive
replshell.
Released under the Apache-2.0. Copyright © 2022-present Daniel Biehl