Releases: LambdaTest/kane-cli
kane-cli 0.3.4
Highlights
Project search is now server-side and paginated, so finding the right project is fast even on large accounts. Artifact uploads now capture the full session directory as a zip. Variable templates in query descriptions resolve correctly, closing a class of silent failures in analyze and vision steps.
[0.3.4] - 2026-05-26
Faster, smarter project picker
- Project search now filters on the server — typing in the project picker sends a
filter[name]query instead of filtering a local list, so results are accurate and instant even across hundreds of projects. - Results are paginated at 10 per page with a searching indicator — a visible loading state appears while results load, so the picker never feels frozen.
Fuller artifact uploads
- The entire session directory is zipped and uploaded — artifact uploads now capture everything in the session folder, not just individual files, so post-run inspection has the full context.
- Screenshot file extensions are tracked per operation — the correct extension (
.png,.jpg, etc.) is recorded per operation ID, so artifact references point to real files.
Variable templates that actually resolve
{{var}}placeholders in query descriptions now expand correctly — analyze, vision, and textual query descriptions that reference variables were being sent as raw template strings; they now resolve before the query runs.
Triage and reporting
- Triage payload and reporting are now supported — runs can emit structured triage data, giving you a reportable summary of what passed, failed, or needs attention.
Smoother installation
sharpis now an optional dependency — a missingsharpnative module no longer blocksnpm install, and the post-install check no longer silently fails on global installs.
Resolved Issues
Install
# npm
npm install -g @testmuai/kane-cli@0.3.4
# Homebrew
brew install lambdatest/kane/kane-cli
# Shell installer (latest release)
curl -fsSL https://raw.githubusercontent.com/LambdaTest/kane-cli/main/install.sh | bashCompare: 0.3.3...0.3.4
kane-cli 0.3.3
Highlights
Two targeted fixes improve replay accuracy: variable passing now works correctly in replay mode, and AI intent is used reliably when driving browser actions.
[0.3.3] - 2026-05-22
Replay runs are more accurate
- Variables now carry through in replay mode — values set earlier in a test are correctly passed to the runner when replaying a recorded flow, so replay results match the original run.
- AI-driven steps behave more consistently — when Kane-CLI interprets a step, it now uses the AI's own understanding of the intent rather than the human-written description, producing more reliable browser actions.
Install
# npm
npm install -g @testmuai/kane-cli@0.3.3
# Homebrew
brew install lambdatest/kane/kane-cli
# Shell installer (latest release)
curl -fsSL https://raw.githubusercontent.com/LambdaTest/kane-cli/main/install.sh | bashCompare: 0.3.2...0.3.3
kane-cli 0.3.2
Highlights
Replay and assertion logic get the most meaningful upgrades in this release: if/else branches now re-evaluate live during playback, tab_count assertions are fully supported end-to-end, and a handful of subtle replay correctness bugs are resolved. Several rough edges in the CLI experience — multi-line paste, --help consistency, certificate trust — are also cleaned up.
[0.3.2] - 2026-05-21
Smarter replay with live branch evaluation
if/elsebranches re-evaluate during replay — instead of blindly replaying recorded steps, the replay engine now re-gates eachif/elsebranch against live conditions, so playback follows the correct path even when runtime state differs from the recording.--retryno longer gets stuck on terminal-step failures — previously, retrying a run that failed at a terminal step would silently do nothing; it now behaves correctly.- Run log lands in the right place —
run.logis now written toruns/<n>/run.loginstead ofruns/<n>/run-test/run.log, so it's where you'd expect to find it.
Tab-count assertions now work end-to-end
- Assert on the number of open browser tabs —
tab_countis now a fully supported assertion type: it's recognized during test initialization, wired through the analyzer, and evaluated correctly during replay.
More reliable test execution
- Click actions use vision-based drift detection as a fallback — coordinate-based clicks now pass, so if a target has shifted since recording, the engine detects the drift rather than silently clicking the wrong spot.
- Assertion outcomes are recorded, not re-executed — the codegen path now captures the assert result directly instead of re-running the assertion through code generation, which could produce incorrect behavior.
- Variable names reach TMS unmodified — external runtime variable names are now pushed as-is, without an internal prefix that was being incorrectly applied.
- Code export failures are caught immediately — if the trigger or poll step for code export returns a non-200 response, the run now fails fast instead of hanging or silently continuing.
A smoother CLI experience
- Paste multi-line text into the objective prompt — multi-line clipboard content pasted into the objective input field is now handled cleanly instead of being misprocessed.
--helplooks the same everywhere — help output is now consistent whether you reach it via--helpor by typing an invalid command, and invalid input now shows a hint.- HTTPS connections trust your OS certificate store — the CLI now uses your system's trusted certificate authorities instead of a bundled set, which means corporate or custom CA setups work without extra configuration. A crash on malformed cert entries is also fixed.
Install
# npm
npm install -g @testmuai/kane-cli@0.3.2
# Homebrew
brew install lambdatest/kane/kane-cli
# Shell installer (latest release)
curl -fsSL https://raw.githubusercontent.com/LambdaTest/kane-cli/main/install.sh | bashCompare: 0.3.1...0.3.2
kane-cli 0.3.1
Highlights
A silent SSL failure that blocked some users from connecting has been fixed. The packaged binary now ships its own trusted certificate bundle so HTTPS works out of the box, regardless of the host machine's CA configuration.
[0.3.1] - 2026-05-14
More reliable HTTPS connections
- SSL errors on certain machines are gone — the binary now bundles its own certificate authority store, so connections work even when the host system's CA certificates are missing, outdated, or misconfigured.
Install
# npm
npm install -g @testmuai/kane-cli@0.3.1
# Homebrew
brew install lambdatest/kane/kane-cli
# Shell installer (latest release)
curl -fsSL https://raw.githubusercontent.com/LambdaTest/kane-cli/main/install.sh | bashCompare: 0.3.0...0.3.1
kane-cli 0.3.0
Highlights
A major new testmd subcommand lets you run, export, delete, and inspect locally-stored test files directly from the CLI. Replay mode is now wired end-to-end, with retry loops, per-step variable and secret delivery, and lock-aware authoring. The TTY run view has been overhauled with consistent info panels, retry boundaries, and a cleaner save-and-exit flow.
[0.3.0] - 2026-05-14
A new testmd command for local test files
- Manage
.testmdfiles without leaving the terminal — the newtestmdsubcommand supportsrun,list,status,export, anddeleteoperations on locally-stored test files. testmd exportpulls generated code from TMS — exports Playwright code into aplaywright-<lang>-code/directory alongside your test file, reusing a cached copy if one already exists.testmd deleteasks before it removes anything — deletion is gated on an explicit--yesconfirmation so nothing is wiped by accident.testmd listworks in both TTY and non-TTY modes — in a terminal it opens an interactive picker; piped or in CI it streams NDJSON.
Replay and retry that actually runs
- Tests can now replay recorded actions and retry on failure — the new
--retry/--retry-countflags drive a retry loop that replays prior decisions step by step, then falls back to live authoring when no recorded action exists. --authorcontrols re-authoring behaviour — choose betweenforce-author(always re-author) andcomplete-reauthor(re-author every step from scratch) when replaying a session.- Variables and secrets are delivered just in time — per-step variable values and secret overrides are pushed to the runner at the moment each step spawns, so overrides set mid-run take effect immediately.
- Retry boundaries are visible in the run view — when a retry triggers, the TTY output shows a rollup of the prior attempt before the next one begins.
- Lock conflicts are handled automatically —
--on-lock-conflict(or theon_lock_conflictfrontmatter key) acceptsreadonly,fail, orwait, and the lock is acquired mid-run when needed rather than only at startup.
Safer, more reliable Ctrl+C
- Ctrl+C now has a confirmation window — pressing Ctrl+C arms a 5-second cancel window; a second press within that window cancels the run. Steps completing normally disarm the window automatically, so accidental keypresses don't abort a healthy run.
A cleaner run view
- Run configuration is shown upfront — global config (Block A) is rendered at launch so you can confirm settings before the first step executes.
- Per-step mode, reason, and overrides are visible inline — each step shows its dispatch mode and any active overrides, making it easier to see why a step ran the way it did.
- Info panels are consistent across all run paths — recording status, upload progress, and result links all use a shared layout whether you're running an objective, a test file, or replaying a session.
- The save prompt behaves predictably — pressing Enter or Esc saves with a generated name; N is the only way to discard. The run banner no longer says "ephemeral" when a file will actually be saved.
Output files you can rely on
- Persisted runs write
Result.mdandmeta.jsonnext to the test file — both are populated in direct-run mode, not just after a cloud session. - Generated code is copied into
output-<stem>/generated-code/— after a run that produces a code export, the Playwright code lands in a predictable sibling directory. md5sumfields have been removed frommeta.jsonand list/status output — existing files are migrated automatically on first read; nothing breaks if you have older files.
CI and non-TTY improvements
- Retry and lock state are streamed as NDJSON events — in non-TTY mode,
RETRY_TRIGGERED,FORCE_AUTHOR_RUN, and recording state changes are emitted as structured events so CI pipelines can react to them. --push,--retry, and--authorrefuse to run without basic auth — rather than failing mid-run, the CLI stops immediately with a clear message if the credentials needed for those flags aren't present.TESTMUAI_SESSION_IDis exported to the test runner environment — the current session ID is available to steps as an environment variable.
Install
# npm
npm install -g @testmuai/kane-cli@0.3.0
# Homebrew
brew install lambdatest/kane/kane-cli
# Shell installer (latest release)
curl -fsSL https://raw.githubusercontent.com/LambdaTest/kane-cli/main/install.sh | bashCompare: 0.2.11...0.3.0
kane-cli 0.2.11
Highlights
This release adds a redesigned help interface with tabs for commands, shortcuts, and setup, improves overlay behavior on macOS and Windows, and strengthens project/folder configuration with better validation and syncing across login flows. It also streams reasoning details in real-time and fixes various focus-detection and state-sync issues.
[0.2.11] - 2026-05-04
Setup is faster and safer
- Picking a project is instant — even on accounts with hundreds of projects, the list shows up right away. You can start typing to search the moment it opens.
- No more "lost" tests — KaneAI now stops you from running a test until a project and folder are picked, so your runs always end up in the right place in TMS.
- One-key defaults — press Esc during setup to auto-pick "KaneAI Generated" / "Untitled" defaults if you just want to get going. KaneAI tells you exactly what it picked.
- Profile mix-ups fixed — switching between accounts/profiles no longer carries the previous profile's project across.
Login that just works
- Wrong username or access key? KaneAI tells you immediately, lets you fix it in place — no more saving bad credentials and finding out later.
- Headless login (
kane-cli login --oauthor with a username/access-key) now finishes cleanly instead of hanging. - Logging in from the terminal uses the same simple guided flow as the rest of the app.
A nicer in-browser indicator
- A small floating badge sits in the top-right corner of Chrome while a test runs. It now shows what KaneAI is currently thinking ("Clicking the Add to cart button…") so you can follow along without watching the terminal.
- Between steps it shows an animated "Thinking…" so you always know it's working.
- The helper no longer shows up in your Mac dock or Windows/Linux taskbar — no more confusing extra icon.
- The badge automatically hides when you switch to another app and reappears when you go back to Chrome.
Easier to discover what Kane-CLI can do
/helpnow opens a tabbed help screen — Commands, Shortcuts, Setup, About — all in one place.- Every slash command shows a small confirmation box with a ✓ / ✗ so you know what just changed (e.g. "Project switched to My Project").
- A breadcrumb at the bottom of the screen shows where you are in any flow.
- Consistent on-screen hints for keyboard shortcuts in every screen.
Better text editing
- Cursor is now visible even when the input box is empty.
- Slash commands: press Tab to fill in a command, Enter to run it (used to need two Enters).
- Word jump and word delete keyboard shortcuts now work the way you'd expect on macOS, Windows, and Linux (Option/Ctrl + Arrow keys, Option/Ctrl + Delete, etc.).
New defaults
- Code Export is now ON by default so every test run also gives you Python (or JavaScript) automation code you can take away.
- "Testing" mode is the new default — runs upload to TMS automatically.
- The first time you launch v0.2.11, KaneAI shows a one-time summary of what changed and tells you how to revert any of it from
/config.
kane-cli 0.2.10
Release kane-cli 0.2.10. Release notes to follow.
kane-cli 0.2.9
What's new
Chrome auto-detection and clearer install guidance
kane-cli now checks for Google Chrome at startup and shows a per-platform install message if it's missing — Homebrew on macOS, the official .deb on Debian/Ubuntu, dnf on Fedora/RHEL/AlmaLinux/Rocky, winget on Windows. Set KANE_CLI_CHROME_PATH=/path/to/chrome to point at a non-standard install. Set KANE_CLI_SKIP_BROWSER_DOWNLOAD=1 to bypass the gate entirely (useful in containers and headless CI).
"KANE-CLI Running" overlay on Chrome
While a run is active, a small purple badge appears in the top-right corner of the managed Chrome window with a pulsing play icon. It tracks Chrome on move and resize, hides when the run ends, and can be dismissed with a double-click or Esc. Disable with KANE_CLI_DISABLE_MARKER=1.
Credits accounting now includes bifurcation and if/else children
Credits used for the bifurcation LLM call and for child agents spawned inside if/else branches are folded into the run's total, so the "credits consumed" number in run results matches what was actually spent.
Better generated test code from runs
- Click and type actions with a usable DOM selector now upload as selector-only operations (no coordinate fallback recorded), giving cleaner, more portable generated code.
- CSS and XPath selectors are tagged with their
typeso downstream code generation can pick the right Playwright API. - Action
rationale(the one-line "why") is now carried from the agent into uploaded operations and instructions, so test reports show meaningful reasoning instead of generic action labels. until_condition_metis now reported accurately forwait_untilloops — a non-failing loop that exhausts retries is no longer miscounted as an error.
TUI polish
- Run-result header lines stack vertically and wrap on narrow terminals instead of overflowing.
- If/else and
@v16child runs render under a "(branch)" header inline, rather than appearing twice in the scrollback. - Failed Chrome launches now show the full per-platform install message standalone instead of being prefixed and truncated.
- Tool-call steps now show a real per-call description (e.g. "Open a new tab", "Switch to tab 2", "Report bug: missing CSS") instead of the generic "Call external tool: " label. Every external tool requires the agent to supply a short user-facing label on every direct call.
- Tool-call rows no longer appear twice in scrollback. The action icon was switched from a variable-width emoji to a stable 1-column glyph, eliminating an Ink frame-erase miscount that left a duplicate row behind on tool-call steps.
Reliability
- Chrome temp profile directories are now reliably cleaned up when a launch attempt fails or when the user switches profiles mid-session.
- A
CHROME_NOT_FOUNDtelemetry event fires when the gate trips, so missing-Chrome incidents are visible across the fleet.
Environment variables (added)
| Variable | Effect |
|---|---|
KANE_CLI_CHROME_PATH |
Override the Chrome binary path. |
KANE_CLI_SKIP_BROWSER_DOWNLOAD |
Bypass the startup gate (any of 1, true, yes). |
KANE_CLI_DISABLE_MARKER |
Suppress the "KANE-CLI Running" overlay. |
Compatibility
No CLI flags were renamed. No config keys were removed. No protocol changes between kane-cli and v16-runner. Runs from previous versions continue to work; new fields (rationale, selector type, until_condition_met) are additive.
kane-cli 0.2.8
Release kane-cli 0.2.8. Release notes to follow.
kane-cli 0.2.7
Release kane-cli 0.2.7. Release notes to follow.