Skip to content

Environment Variables

Environment Variables

This page documents all environment variables used by Stepwright and Fixwright.

Stepwright Environment Variables

Browser Configuration

STEPWRIGHT_HEADLESS

Run browser in headless mode.

TypeDefault
booleantrue
Terminal window
STEPWRIGHT_HEADLESS=false npx stepwright run ./script.ts

STEPWRIGHT_BROWSER

Browser engine to use.

TypeDefaultValues
stringchromiumchromium, firefox, webkit
Terminal window
STEPWRIGHT_BROWSER=firefox npx stepwright run ./script.ts

STEPWRIGHT_TIMEOUT

Default timeout in milliseconds.

TypeDefault
number30000
Terminal window
STEPWRIGHT_TIMEOUT=60000 npx stepwright run ./script.ts

Artifacts

STEPWRIGHT_ARTIFACT_DIR

Directory for storing artifacts.

TypeDefault
string.stepwright/artifacts
Terminal window
STEPWRIGHT_ARTIFACT_DIR=./my-artifacts npx stepwright run ./script.ts

STEPWRIGHT_SCREENSHOT_ON_FAILURE

Capture screenshot on step failure.

TypeDefault
booleantrue
Terminal window
STEPWRIGHT_SCREENSHOT_ON_FAILURE=false npx stepwright run ./script.ts

STEPWRIGHT_DOM_ON_FAILURE

Capture DOM on step failure.

TypeDefault
booleanfalse
Terminal window
STEPWRIGHT_DOM_ON_FAILURE=true npx stepwright run ./script.ts

Logging

STEPWRIGHT_VERBOSE

Enable verbose logging.

TypeDefault
booleanfalse
Terminal window
STEPWRIGHT_VERBOSE=true npx stepwright run ./script.ts

DEBUG

Enable debug logging (uses debug package).

TypeDefault
string-
Terminal window
DEBUG=stepwright:* npx stepwright run ./script.ts

Fixwright Environment Variables

API Configuration

ANTHROPIC_API_KEY

Required. Anthropic API key for Claude.

TypeDefault
string-
Terminal window
ANTHROPIC_API_KEY=sk-ant-... npx fixwright fix ./failure.json

FIXWRIGHT_MODEL

Claude model to use.

TypeDefault
stringclaude-sonnet-4-20250514
Terminal window
FIXWRIGHT_MODEL=claude-sonnet-4-20250514 npx fixwright fix ./failure.json

FIXWRIGHT_MAX_TOKENS

Maximum tokens for AI response.

TypeDefault
number16000
Terminal window
FIXWRIGHT_MAX_TOKENS=32000 npx fixwright fix ./failure.json

Fixing Behavior

FIXWRIGHT_MAX_ATTEMPTS

Maximum fix attempts.

TypeDefault
number3
Terminal window
FIXWRIGHT_MAX_ATTEMPTS=5 npx fixwright fix ./failure.json

FIXWRIGHT_VERBOSITY

Log verbosity level.

TypeDefaultValues
stringnormalquiet, normal, verbose
Terminal window
FIXWRIGHT_VERBOSITY=verbose npx fixwright fix ./failure.json

File Handling

FIXWRIGHT_BACKUP

Create backups before modifying files.

TypeDefault
booleantrue
Terminal window
FIXWRIGHT_BACKUP=false npx fixwright fix ./failure.json

FIXWRIGHT_BACKUP_DIR

Directory for file backups.

TypeDefault
string.fixwright/backups
Terminal window
FIXWRIGHT_BACKUP_DIR=./backups npx fixwright fix ./failure.json

Git Integration

FIXWRIGHT_GIT_ENABLED

Enable Git integration.

TypeDefault
booleanfalse
Terminal window
FIXWRIGHT_GIT_ENABLED=true npx fixwright fix ./failure.json

FIXWRIGHT_GIT_BRANCH_PREFIX

Prefix for created branches.

TypeDefault
stringfix/
Terminal window
FIXWRIGHT_GIT_BRANCH_PREFIX=fixwright/ npx fixwright fix ./failure.json

GitHub Integration

GITHUB_TOKEN

GitHub token for PR creation.

TypeDefault
string-
Terminal window
GITHUB_TOKEN=ghp_... npx fixwright fix ./failure.json --create-pr

FIXWRIGHT_PR_DRAFT

Create PRs as drafts.

TypeDefault
booleantrue
Terminal window
FIXWRIGHT_PR_DRAFT=false npx fixwright fix ./failure.json --create-pr

CI Environment Detection

Both tools detect common CI environments:

CI

Standard CI environment indicator.

TypeDefault
booleanfalse

When CI=true:

  • Stepwright defaults to headless mode
  • Timeout defaults increase
  • Verbose error output enabled
Terminal window
CI=true npx stepwright run ./script.ts

CI-Specific Variables

env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CI: true

Using .env Files

Create a .env file in your project root:

.env
# Stepwright
STEPWRIGHT_HEADLESS=true
STEPWRIGHT_BROWSER=chromium
STEPWRIGHT_TIMEOUT=30000
STEPWRIGHT_VERBOSE=false
# Fixwright
ANTHROPIC_API_KEY=sk-ant-your-key-here
FIXWRIGHT_MODEL=claude-sonnet-4-20250514
FIXWRIGHT_MAX_ATTEMPTS=3
FIXWRIGHT_VERBOSITY=normal
# Git/GitHub
GITHUB_TOKEN=ghp_your-token-here
FIXWRIGHT_GIT_ENABLED=true
# Test data (for your scripts)
TEST_USER_EMAIL=test@example.com
TEST_USER_PASSWORD=secret123
BASE_URL=https://staging.example.com

Loading .env Files

Use dotenv to load environment variables:

scripts/setup.ts
import 'dotenv/config';
import { Stepwright } from '@korvol/stepwright';
// Environment variables are now available
const script = Stepwright.create('My Script')
.data({
email: process.env.TEST_USER_EMAIL!,
baseUrl: process.env.BASE_URL!,
});

Or in package.json:

package.json
{
"scripts": {
"test": "dotenv -- npx stepwright run ./scripts/main.ts"
}
}

Environment Variable Precedence

Variables are resolved in this order (highest to lowest priority):

  1. Command line flags (--headed)
  2. Environment variables (STEPWRIGHT_HEADLESS=false)
  3. Configuration file (stepwright.config.ts)
  4. Default values

Example:

Terminal window
# Environment says headless
export STEPWRIGHT_HEADLESS=true
# CLI flag overrides
npx stepwright run ./script.ts --headed
# Result: runs with visible browser

Custom Environment Variables in Scripts

Access custom variables in your scripts:

const script = Stepwright.create('Configured Script')
.data({
// Required variables
apiKey: process.env.API_KEY!,
// Optional with defaults
baseUrl: process.env.BASE_URL || 'https://example.com',
debug: process.env.DEBUG === 'true',
// Parsed numbers
timeout: parseInt(process.env.TIMEOUT || '30000'),
})
.step('Use config', async (ctx) => {
await ctx.page.goto(ctx.data.baseUrl);
ctx.log('API Key present:', !!ctx.data.apiKey);
});

Reference Table

Stepwright

VariableTypeDefaultDescription
STEPWRIGHT_HEADLESSbooleantrueHeadless browser mode
STEPWRIGHT_BROWSERstringchromiumBrowser engine
STEPWRIGHT_TIMEOUTnumber30000Default timeout (ms)
STEPWRIGHT_ARTIFACT_DIRstring.stepwright/artifactsArtifact directory
STEPWRIGHT_SCREENSHOT_ON_FAILUREbooleantrueScreenshot on failure
STEPWRIGHT_DOM_ON_FAILUREbooleanfalseDOM capture on failure
STEPWRIGHT_VERBOSEbooleanfalseVerbose logging

Fixwright

VariableTypeDefaultDescription
ANTHROPIC_API_KEYstring-Required. API key
FIXWRIGHT_MODELstringclaude-sonnet-4-20250514Claude model
FIXWRIGHT_MAX_TOKENSnumber16000Max response tokens
FIXWRIGHT_MAX_ATTEMPTSnumber3Max fix attempts
FIXWRIGHT_VERBOSITYstringnormalLog verbosity
FIXWRIGHT_BACKUPbooleantrueCreate backups
FIXWRIGHT_BACKUP_DIRstring.fixwright/backupsBackup directory
FIXWRIGHT_GIT_ENABLEDbooleanfalseEnable Git
FIXWRIGHT_GIT_BRANCH_PREFIXstringfix/Branch prefix
GITHUB_TOKENstring-GitHub token for PRs
FIXWRIGHT_PR_DRAFTbooleantrueCreate draft PRs

Next Steps