Skip to content

Environment Variables

Reference for all environment variables recognized by Tapsmith.

Most users will never need to set any of these. They are primarily useful for debugging, CI customization, and advanced setups where the defaults do not apply.

VariableDescription
TAPSMITH_DAEMON_BINOverride the path to the tapsmith-core daemon binary. Checked before auto-resolution from npm packages, monorepo builds, and PATH.
TAPSMITH_DAEMON_LOGPath to a file for daemon stdout/stderr. When set, the CLI redirects the spawned daemon’s output to this file. Useful for debugging daemon-side behavior (MITM proxy, agent startup, etc.).
TAPSMITH_REUSE_DAEMONWhen set (any truthy value), the CLI connects to an existing daemon without killing it. Used internally by the MCP server’s tapsmith_run_tests tool to avoid destroying a daemon owned by UI mode.
TAPSMITH_AGENT_READ_HEADROOM_MSMilliseconds the daemon waits for an on-device agent to answer a command, on top of the caller’s timeout (default 5000). This is effectively the ceiling on a single UIAutomator hierarchy dump, which the agent runs uninterruptibly regardless of the caller timeout. Raise it on slow/CPU-starved CI emulators where a dump can exceed 5s and surface as Agent command timed out; do not lower it, as that turns a slow-but-completing dump into a hard timeout.
VariableDescription
TAPSMITH_DEBUGEnable debug logging in the TypeScript SDK (assertion polling, element resolution, etc.). Set to 1 or true.
RUST_LOGControl Rust daemon log verbosity. Examples: RUST_LOG=info, RUST_LOG=tapsmith_core=debug. Useful for diagnosing MITM proxy issues, agent startup failures, and device communication problems.
VariableDescription
TAPSMITH_REDIRECTOR_APPOverride the path to the mitmproxy Redirector app binary. Default search order: (1) this env var, (2) /Applications/Mitmproxy Redirector.app/Contents/MacOS/Mitmproxy Redirector, (3) ~/.tapsmith/redirector/ (auto-extracted from brew cask).
VariableDescription
CIWhen set (and not "false"), Tapsmith skips the Android device-health preflight and disables interactive progress output. Most CI providers set this automatically. Reporter selection is no longer affected — list is the default everywhere; set reporter: 'dot' explicitly for compact CI output.
GITHUB_ACTIONSWhen set (GitHub Actions sets it automatically), Tapsmith auto-adds the github reporter for inline annotations on test failures.
GITHUB_STEP_SUMMARYPath to the GitHub Actions step summary file. The GitHub reporter writes a Markdown summary table when this is set.
VariableDescription
ANDROID_HOMEPath to the Android SDK. Used to find adb, emulator, and avdmanager binaries. Falls back to ANDROID_SDK_ROOT.
ANDROID_SDK_ROOTAlternate path to the Android SDK (deprecated by Google in favor of ANDROID_HOME, but still supported as a fallback).

These are set by Tapsmith internally and generally should not be modified by users.

VariableDescription
TAPSMITH_WORKER_IDSet by the CLI in parallel and watch mode. Identifies the current worker process.
TAPSMITH_DAEMON_ADDRESSComma-separated daemon addresses. Used internally by MCP server mode.
TAPSMITH_UI_DEV_URLDevelopment server URL for UI mode’s frontend. Internal use only.
Terminal window
RUST_LOG=tapsmith_core=debug TAPSMITH_DAEMON_LOG=daemon.log npx tapsmith test
# Then inspect daemon.log for MITM proxy, agent startup, and device communication logs
Terminal window
TAPSMITH_DAEMON_BIN=/usr/local/bin/tapsmith-core npx tapsmith test
Terminal window
TAPSMITH_DEBUG=1 npx tapsmith test tests/flaky.test.ts
Terminal window
# Give a hierarchy dump up to 10s before the daemon declares a command timed out
TAPSMITH_AGENT_READ_HEADROOM_MS=10000 npx tapsmith test