# Go Agent Parameter Reference Table

## SeaLights Go Agent – Configuration Parameters Reference

A concise lookup table for every configuration parameter and the ways you can provide it.

<details>

<summary>Table Legend</summary>

**Column Definitions**

* **Timing** - At which phase in the workflow can the parameter be configured
* **Usage Mode** - In which agent usage mode the parameter can be used

**Timing Values**

* **🔧Config** - Set during `slgoagent config` command (typically via CLI flag or config file)
* **⚡Runtime** - Set and applied at runtime of the instrumented code (commonly deferred for deployment flexibility)

**Usage Mode Values**

* **Coverage Listener Mode (AUT)** - Used when instrumenting applications to collect coverage data
* **Test Runner Mode** - Used when instrumenting test frameworks to collect test execution details

**Best Practices**

* **BP Notes in Description** - Used when instrumenting applications to collect coverage data

</details>

{% hint style="info" %}
*A blank “Config File key” means that particular parameter cannot be set inside `.slconfig.yaml`; use flags or env vars instead.*
{% endhint %}

<table><thead><tr><th width="117.5">Parameter</th><th width="113">Timing</th><th width="206.5">Usage Mode</th><th width="135.5">Config File Key</th><th width="208.5">CLI Flags</th><th width="323">Environment Variables</th><th width="283">Description</th><th width="165.5">Accepts/Type</th><th width="159">Default Value</th></tr></thead><tbody><tr><td>Config file</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td>—</td><td><code>--config</code></td><td>—</td><td>YAML config file</td><td>STRING</td><td><code>.slconfig.yaml</code></td></tr><tr><td>Fail on error</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td>—</td><td><code>--failOnError</code></td><td><code>SL_FAIL_ON_ERROR</code><br><code>SEALIGHTS_FAIL_ON_ERROR</code></td><td>Exit immediately with status code 1 on any error</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>Log level</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>logLevel</code></td><td><code>--logLevel</code></td><td><code>SL_LOG_LEVEL</code><br><code>SEALIGHTS_LOG_LEVEL</code></td><td>Set the log level for the SL Go Agent. Must be set in build env and runtime env separately.</td><td>ENUM {none | debug | info | warn | error}</td><td><code>none</code></td></tr><tr><td>Log file</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>logFile</code></td><td><code>--logFile</code></td><td><code>SL_LOG_FILE</code><br><code>SEALIGHTS_LOG_FILE</code></td><td>Path to a file to write log output to</td><td>STRING</td><td>—</td></tr><tr><td>Quiet</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td>—</td><td><code>--quiet</code></td><td><code>SL_QUIET</code><br><code>SEALIGHTS_QUIET</code></td><td>Suppress all [SeaLights] console messages on stdout</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>Authentication token</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td>—</td><td><code>--token</code><br><code>--tokenFile</code></td><td><code>SL_TOKEN</code><br><code>SEALIGHTS_TOKEN</code></td><td>Sealights authentication token or path to token file.</td><td>STRING</td><td>—</td></tr><tr><td>Proxy URL</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>proxyUrl</code></td><td><code>--proxy</code></td><td><code>SL_PROXY</code><br><code>SEALIGHTS_PROXY</code><br><code>SL_PROXY_URL</code><br><code>SEALIGHTS_PROXY_URL</code></td><td>HTTP/HTTPS proxy server URL.</td><td>STRING</td><td>—</td></tr><tr><td>Collector URL</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)</td><td><code>collectorUrl</code></td><td><code>--collectorUrl</code><br><code>--collector-url</code></td><td><code>SL_COLLECTOR_URL</code><br><code>SEALIGHTS_COLLECTOR_URL</code></td><td>URL of the collector. Set on Lambda at runtime.<br>BP: set at Runtime via Env Var</td><td>STRING</td><td>—</td></tr><tr><td>Disable token save</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>disableTokenSave</code></td><td><code>--disableTokenSave</code></td><td><code>SL_DISABLE_TOKEN_SAVE</code><br><code>SEALIGHTS_DISABLE_TOKEN_SAVE</code></td><td>Don't write token into instrumented binary. (BSID must be provided via secret as env var at runtime.)</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>Scan directory</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>rootDir</code></td><td><code>--scanDir</code><br><code>--workspacepath</code><br><code>--root-dir</code></td><td><code>SL_SCAN_DIR</code><br><code>SEALIGHTS_SCAN_DIR</code><br><code>SL_ROOT_DIR</code><br><code>SEALIGHTS_ROOT_DIR</code><br><code>SL_WORKSPACE_PATH</code><br><code>SEALIGHTS_WORKSPACE_PATH</code></td><td>The directory to scan/instrument. Used during agent configuration</td><td>STRING</td><td><code>./</code></td></tr><tr><td>Application name</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>appName</code></td><td><code>--appName</code><br><code>--app</code><br><code>--app-name</code></td><td><code>SL_APP_NAME</code><br><code>SEALIGHTS_APP_NAME</code></td><td>Application name for identification in Sealights</td><td>STRING</td><td>—</td></tr><tr><td>Build name</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>build</code></td><td><code>--buildName</code><br><code>--build</code></td><td><code>SL_BUILD_NAME</code><br><code>SEALIGHTS_BUILD_NAME</code></td><td>Build identifier (auto-generated if omitted)</td><td>STRING</td><td>Auto: <code>SL_YYYYMMDD-HHMMSS</code></td></tr><tr><td>Branch name</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>branch</code></td><td><code>--branchName</code><br><code>--branch</code></td><td><code>SL_BRANCH_NAME</code><br><code>SEALIGHTS_BRANCH_NAME</code><br><code>SL_BRANCH</code><br><code>SEALIGHTS_BRANCH</code></td><td>Source code branch name for the current build</td><td>STRING</td><td><code>main</code></td></tr><tr><td>Go mod file</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>goModFile</code></td><td><code>--goModFile</code></td><td><code>SL_GO_MOD_FILE</code><br><code>SEALIGHTS_GO_MOD_FILE</code></td><td>Alternate <code>go.mod</code> location</td><td>STRING</td><td>—</td></tr><tr><td>Build session ID</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--buildSessionId</code><br><code>--bsid</code></td><td><code>SL_BUILD_SESSION_ID</code><br><code>SEALIGHTS_BUILD_SESSION_ID</code></td><td>Use a custom build session ID</td><td>STRING</td><td>—</td></tr><tr><td>Build session ID from file</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td>—</td><td><code>--buildSessionIdFile</code><br><code>--bsid-from-file</code></td><td><code>SL_BUILD_SESSION_ID_FILE</code><br><code>SEALIGHTS_BUILD_SESSION_ID_FILE</code><br><code>SL_BUILD_SESSION_ID_FROM_FILE</code><br><code>SEALIGHTS_BUILD_SESSION_ID_FROM_FILE</code></td><td>Load build session ID from a file</td><td>STRING</td><td>—</td></tr><tr><td>Save build session ID to file</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--saveBsidToFile</code></td><td><code>SL_SAVE_BSID_TO_FILE</code><br><code>SEALIGHTS_SAVE_BSID_TO_FILE</code></td><td>Persist the build session ID (generated during Coverage Listener <code>config</code> command) to a file</td><td>STRING</td><td>—</td></tr><tr><td>Build tags</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>buildTags</code></td><td><code>--tags</code><br><code>--buildTags</code></td><td><code>SL_BUILD_TAGS</code><br><code>SEALIGHTS_BUILD_TAGS</code></td><td>Build tags to include for instrumentation</td><td>STRING</td><td>—</td></tr><tr><td>Build environment</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>buildEnv</code></td><td><code>--buildEnv</code></td><td><code>SL_BUILD_ENV</code><br><code>SEALIGHTS_BUILD_ENV</code></td><td>Extra Go environment variables required for the build</td><td>STRING</td><td>—</td></tr><tr><td>Packages Included</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>packagesIncludes</code></td><td><code>--includePackages</code><br><code>--include</code><br><code>--includes</code><br><code>--packages-included</code></td><td><code>SL_INCLUDE_PACKAGES</code><br><code>SEALIGHTS_INCLUDE_PACKAGES</code><br><code>SL_PACKAGES_INCLUDED</code><br><code>SEALIGHTS_PACKAGES_INCLUDED</code></td><td>Go packages to instrument (works on the Go package import path, not file path)</td><td>STRING</td><td>—</td></tr><tr><td>Packages Excluded</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>packagesExcludes</code></td><td><code>--excludePackages</code><br><code>--exclude</code><br><code>--excludes</code><br><code>--packages-excluded</code></td><td><code>SL_EXCLUDE_PACKAGES</code><br><code>SEALIGHTS_EXCLUDE_PACKAGES</code><br><code>SL_PACKAGES_EXCLUDED</code><br><code>SEALIGHTS_PACKAGES_EXCLUDED</code></td><td>Go packages to skip (works on the Go package import path, not file path)</td><td>STRING</td><td>—</td></tr><tr><td>Test runner mode</td><td>🔧Config<br>⚡Runtime</td><td>- Test Runner Mode</td><td><code>testsRunner</code></td><td><code>--testRunner</code><br><code>--tests-runner</code><br><code>--test-runner</code></td><td><code>SL_TEST_RUNNER</code><br><code>SEALIGHTS_TEST_RUNNER</code></td><td>Run as test listener only.<br>BP: set at Runtime via Env Var</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>Lab ID</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>labId</code></td><td><code>--labId</code></td><td><code>SL_LAB_ID</code><br><code>SEALIGHTS_LAB_ID</code></td><td>A unique name representing the environment in which your AUT was deployed (and against which you are testing)<br>BP: set at Runtime via Env Var</td><td>STRING</td><td>—</td></tr><tr><td>Test stage</td><td>🔧Config<br>⚡Runtime</td><td>- Test Runner Mode</td><td><code>testStage</code></td><td><code>--testStage</code></td><td><code>SL_TEST_STAGE</code><br><code>SEALIGHTS_TEST_STAGE</code></td><td>Test Stage name shown in UI.<br>BP: set at Runtime via Env Var</td><td>STRING</td><td>—</td></tr><tr><td>Test project ID</td><td>🔧Config<br>⚡Runtime</td><td>- Test Runner Mode</td><td><code>testProjectId</code></td><td><code>--testProjectId</code></td><td><code>SL_TEST_PROJECT_ID</code><br><code>SEALIGHTS_TEST_PROJECT_ID</code></td><td>Test project identifier for test cycle differentiation<br>BP: set at Runtime via Env Var</td><td>STRING</td><td>—</td></tr><tr><td>Test group ID</td><td>🔧Config<br>⚡Runtime</td><td>- Test Runner Mode</td><td><code>testGroupId</code></td><td><code>--testGroupId</code></td><td><code>SL_TEST_GROUP_ID</code><br><code>SEALIGHTS_TEST_GROUP_ID</code></td><td>Test group identifier for execution grouping<br>BP: set at Runtime via Env Var</td><td>STRING</td><td>—</td></tr><tr><td>Enable Ginkgo</td><td>🔧Config</td><td>- Test Runner Mode</td><td><code>enableGinkgo</code></td><td><code>--enableGinkgo</code><br><code>--ginkgo</code></td><td><code>SL_ENABLE_GINKGO</code><br><code>SEALIGHTS_ENABLE_GINKGO</code></td><td>Instrument Ginkgo test runner</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>(Ginkgo) Full test name</td><td>🔧Config<br>⚡Runtime</td><td>- Test Runner Mode</td><td><code>fullTestName</code></td><td><code>--fullTestName</code></td><td><code>SL_FULL_TEST_NAME</code><br><code>SEALIGHTS_FULL_TEST_NAME</code></td><td>Send hierarchical BDD test names to the SeaLights backend. Ginkgo test runners only.<br>BP: set at Runtime via Env Var<br><em>since <code>slgoagent v2.0.225</code></em></td><td>BOOL</td><td><code>false</code></td></tr><tr><td>Enable Godog</td><td>🔧Config</td><td>- Test Runner Mode</td><td><code>enableGodog</code></td><td><code>--enableGodog</code><br><code>--godog</code></td><td><code>SL_ENABLE_GODOG</code><br><code>SEALIGHTS_ENABLE_GODOG</code></td><td>Instrument Godog test runner</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>SCM provider</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>scmProvider</code></td><td><code>--scmProvider</code></td><td><code>SL_SCM_PROVIDER</code><br><code>SEALIGHTS_SCM_PROVIDER</code></td><td>SCM provider</td><td>ENUM {git | github | gitlab | bitbucket | azure-devops | other}</td><td>—</td></tr><tr><td>SCM version</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>scmVersion</code></td><td><code>--scmVersion</code></td><td><code>SL_SCM_VERSION</code><br><code>SEALIGHTS_SCM_VERSION</code></td><td>SCM tool/API version</td><td>STRING</td><td>—</td></tr><tr><td>SCM base URL</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>scmBaseUrl</code></td><td><code>--scmUrl</code></td><td><code>SL_SCM_URL</code><br><code>SEALIGHTS_SCM_URL</code></td><td>SCM server root URL (if not using Github)</td><td>STRING</td><td>—</td></tr><tr><td>SCM git directory</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td><code>scmGitDir</code></td><td><code>--scmGitDir</code></td><td><code>SL_SCM_GIT_DIR</code><br><code>SEALIGHTS_SCM_GIT_DIR</code></td><td>Path to <code>.git</code> directory (monorepos)</td><td>STRING</td><td><code>./</code></td></tr><tr><td>Light mode</td><td>⚡Runtime</td><td>- Coverage Listener Mode (AUT)</td><td>–</td><td>–</td><td><code>SL_LIGHT_MODE</code><br><code>SEALIGHTS_LIGHT_MODE</code></td><td>Minimal footprint mode. Set on Lambda at runtime</td><td>BOOL</td><td><code>false</code></td></tr><tr><td>Disable on init</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)</td><td><code>disableSealightsOnInit</code></td><td><code>--disableOnInit</code></td><td><code>SL_DISABLE_ON_INIT</code><br><code>SEALIGHTS_DISABLE_ON_INIT</code></td><td>Disable Sealights Agent at runtime.<br>BP: set at Runtime via Env Var</td><td>BOOL</td><td><code>false</code></td></tr></tbody></table>

\---

#### PR Related Parameters

<table><thead><tr><th>Parameter</th><th>Timing</th><th>Usage Mode</th><th>Config File Key</th><th width="243">CLI Flags</th><th width="331">Environment Variables</th><th>Description</th><th>Accepts/Type</th><th>Default Value</th></tr></thead><tbody><tr><td>PR build session ID</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--prBuildSessionId</code>, <code>--pr-bsid</code>, <code>--pr-build-session-id</code>, <code>--pull-request-build-session-id</code></td><td><code>SL_PR_BUILD_SESSION_ID</code>, <code>SEALIGHTS_PR_BUILD_SESSION_ID</code></td><td>Build Session ID used for PR comparison</td><td>STRING</td><td>—</td></tr><tr><td>Pull request number</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--pullRequestNumber</code>, <code>--pr-number</code>, <code>--pull-request-number</code></td><td><code>SL_PULL_REQUEST_NUMBER</code>, <code>SEALIGHTS_PULL_REQUEST_NUMBER</code>, <code>SL_PR_NUMBER</code>, <code>SEALIGHTS_PR_NUMBER</code></td><td>Pull request number</td><td>INT</td><td>—</td></tr><tr><td>PR latest commit</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--latestCommit</code>, <code>--pr-latest-commit</code>, <code>--latest-commit</code>, <code>--pull-request-latest_commit</code></td><td><code>SL_LATEST_COMMIT</code>, <code>SEALIGHTS_LATEST_COMMIT</code>, <code>SL_PR_LATEST_COMMIT</code>, <code>SEALIGHTS_PR_LATEST_COMMIT</code></td><td>Latest commit SHA of the PR</td><td>STRING</td><td>—</td></tr><tr><td>PR repository URL</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--repositoryUrl</code>, <code>--repository-url</code>, <code>--pr-repository-url</code>, <code>--pull-request</code></td><td><code>SL_REPOSITORY_URL</code>, <code>SEALIGHTS_REPOSITORY_URL</code>, <code>SL_PR_REPOSITORY_URL</code>, <code>SEALIGHTS_PR_REPOSITORY_URL</code></td><td>Source repo URL of the PR</td><td>STRING</td><td>—</td></tr><tr><td>PR target branch</td><td>🔧Config</td><td>- Coverage Listener Mode (AUT)</td><td>—</td><td><code>--targetBranch</code>, <code>--target-branch</code>, <code>--pr-target-branch</code>, <code>--pull-request-target-branch</code></td><td><code>SL_TARGET_BRANCH</code>, <code>SEALIGHTS_TARGET_BRANCH</code></td><td>Branch the PR will merge into</td><td>STRING</td><td>—</td></tr><tr><td>PR ID</td><td>🔧Config<br>⚡Runtime</td><td>- Coverage Listener Mode (AUT)<br>- Test Runner Mode</td><td><code>prId</code></td><td><code>--prId</code>, <code>--prid</code>, <code>--pr-id</code>, <code>--prID</code></td><td><code>SL_PR_ID</code>, <code>SEALIGHTS_PR_ID</code>, <code>SL_PRID</code>, <code>SEALIGHTS_PRID</code></td><td>Differentiate executions of same test stage/branch/PR</td><td>STRING</td><td>—</td></tr></tbody></table>

### Parameters That Can Be Deferred to Runtime

In the above table, the parameters with a "Timing" value of "Runtime" do not need to be set during `slgoagent config` commands; they can be set later at runtime using environment variables.

1. These parameters are optional during the config/instrument phase. In some cases, we recommend setting at runtime (as noted in the description above).
2. They can be set during config if desired, but it's not required.
3. They have the flexibility to be set at runtime via environment variables instead.
