Skip to content

Releases: LambdaTest/kane-cli

kane-cli 0.3.4

26 May 17:59
79304ef

Choose a tag to compare

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

  • sharp is now an optional dependency — a missing sharp native module no longer blocks npm 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 | bash

Compare: 0.3.3...0.3.4

kane-cli 0.3.3

22 May 08:10

Choose a tag to compare

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 | bash

Compare: 0.3.2...0.3.3

kane-cli 0.3.2

21 May 15:59
eb0198d

Choose a tag to compare

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/else branches re-evaluate during replay — instead of blindly replaying recorded steps, the replay engine now re-gates each if/else branch against live conditions, so playback follows the correct path even when runtime state differs from the recording.
  • --retry no 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 placerun.log is now written to runs/<n>/run.log instead of runs/<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 tabstab_count is 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.
  • --help looks the same everywhere — help output is now consistent whether you reach it via --help or 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 | bash

Compare: 0.3.1...0.3.2

kane-cli 0.3.1

14 May 19:57
7a0635e

Choose a tag to compare

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 | bash

Compare: 0.3.0...0.3.1

kane-cli 0.3.0

14 May 10:05
867b9be

Choose a tag to compare

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 .testmd files without leaving the terminal — the new testmd subcommand supports run, list, status, export, and delete operations on locally-stored test files.
  • testmd export pulls generated code from TMS — exports Playwright code into a playwright-<lang>-code/ directory alongside your test file, reusing a cached copy if one already exists.
  • testmd delete asks before it removes anything — deletion is gated on an explicit --yes confirmation so nothing is wiped by accident.
  • testmd list works 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-count flags drive a retry loop that replays prior decisions step by step, then falls back to live authoring when no recorded action exists.
  • --author controls re-authoring behaviour — choose between force-author (always re-author) and complete-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 the on_lock_conflict frontmatter key) accepts readonly, fail, or wait, 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.md and meta.json next 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.
  • md5sum fields have been removed from meta.json and 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 --author refuse 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_ID is 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 | bash

Compare: 0.2.11...0.3.0

kane-cli 0.2.11

04 May 13:25
a29fbe0

Choose a tag to compare

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 --oauth or 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

  • /help now 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

30 Apr 15:33
a29fbe0

Choose a tag to compare

Release kane-cli 0.2.10. Release notes to follow.

kane-cli 0.2.9

30 Apr 11:11
a29fbe0

Choose a tag to compare

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 type so 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_met is now reported accurately for wait_until loops — 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 @v16 child 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_FOUND telemetry 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

30 Apr 11:06
a29fbe0

Choose a tag to compare

Release kane-cli 0.2.8. Release notes to follow.

kane-cli 0.2.7

28 Apr 13:52
a29fbe0

Choose a tag to compare

Release kane-cli 0.2.7. Release notes to follow.