Skip to content

Releases: LambdaTest/kane-cli

kane-cli 0.6.3

Choose a tag to compare

@robot-lt robot-lt released this 18 Jul 00:27

Highlights

The biggest change in this release is a fully redesigned interactive session panel — the conversational interface you see while a context extraction or test design is in progress. The panel now has cleaner layout rules, colored risk indicators, a free-text editor, and keyboard navigation that feels intentional. OAuth credential exchange also gets hardened, fixing a class of silent auth failures.

[0.6.3] - 2026-07-17

A rebuilt interactive session panel

  • Keyboard-first navigation — arrow keys, Enter, and digit shortcuts move through the panel; typing immediately opens a free-text editor row seeded with context so you never start from a blank prompt.
  • Cleaner visual hierarchy — work output indents by two columns, receipts are machine-only, and human-facing commit lines are kept to a single line. No more visual noise from internal IDs or CIDs leaking into readable output.
  • Colored risk and recommended-row highlighting — the question panel announces its header, marks risk level in color, and highlights the recommended answer so the right choice is obvious at a glance.
  • Phase-aware labels throughout — loader labels, exit copy, and decision labels all reflect the current phase in plain language; file paths use ~ shorthand instead of absolute paths.
  • Narrative appears after the commit — the summary message renders once a decision is finalized, not before, so the flow reads in the right order.

Auth that doesn't silently fail

  • OAuth now doesn't expire mid session — after an OAuth login, kane-cli doesn't let the subsequent runs hit token-expiry mid-session.
  • Malformed payloads and slow exchanges are rejected cleanly — the credential exchange now has a timeout and rejects malformed responses, with a visible warning if the exchange falls back to a secondary path.

Reliability fixes

  • A bad cite no longer crashes a run — a list-shaped add-operation cite is now treated as a recoverable error rather than a hard crash.
  • No phantom blank lines in output — trailing-newline prose no longer produces an extra empty row in the scrollback.
  • Selector recorded for wrapped actions — the resolved selector for until-wrapped actions is now saved correctly, so logs reflect what was actually matched.

Bug Fixes

Install

# npm
npm install -g @testmuai/kane-cli@0.6.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.6.2...0.6.3

kane-cli 0.6.2

Choose a tag to compare

@robot-lt robot-lt released this 16 Jul 22:20

Highlights

Several correctness fixes land for authentication flows, variable handling, and condition evaluation — things that were silently misbehaving now work as intended or tell you clearly when something is wrong.

[0.6.2] - 2026-07-16

Auth that's honest about what it's doing

  • OAuth tokens are now exchanged for long-lived credentials automatically — when running tests, OAuth credentials are resolved into non-expiring basic credentials behind the scenes, so sessions don't break mid-run.
  • Fallback during credential exchange now warns you — if the auth exchange falls back to a secondary path, you'll see a clear warning instead of it happening silently.

Conditions and variables that compute correctly

  • Condition blocks now evaluate logical and boolean expressions — the condition leg previously missed logical/boolean expressions; those cases are now handled correctly.
  • SET variable values are no longer pre-seeded — variables declared with SET now get their value from the store instruction at runtime, rather than being initialized prematurely, which could cause stale or incorrect values.
  • Empty expected values no longer cause false failures for non-contains checks — the fail-loud guard for an empty expected value is now scoped only to contains assertions, so other check types aren't incorrectly flagged.
  • Visual checkpoint conditions derive from the right base — the textual_visual leg now correctly inherits from the checkpoint condition type.

Cleaner output

  • Unrelated references no longer appear in terminal output — user-facing messages are cleaned up; unrelated identifiers and phrasing that passed into output have been removed or reworded.

Install

# npm
npm install -g @testmuai/kane-cli@0.6.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.6.1...0.6.2

kane-cli 0.6.1

Choose a tag to compare

@robot-lt robot-lt released this 16 Jul 08:59

Highlight

A maintenance release. If you installed 0.6.0 and found that kane-cli context, kane-cli design, or kane-cli maintainthe headline of that release — failed right after install, this is the fix: 0.6.0's published packages were missing a required component, and 0.6.1 ships it correctly on every platform.

[0.6.1] - 2026-07-16

Fixed

  • context, design, and maintain now work on a fresh install — 0.6.0's published packages shipped without a component these commands require, so they failed immediately after npm install / brew install. 0.6.1 bundles it correctly across all supported platforms.
  • A missing platform binary no longer fails the install itself — the post-install step now degrades gracefully instead of aborting npm install when a binary is absent.

For the full feature set 0.6.1 brings to life, see the 0.6.0 release notes.


Install

# npm
npm install -g @testmuai/kane-cli@0.6.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.6.0...0.6.1

kane-cli 0.6.0

Choose a tag to compare

@robot-lt robot-lt released this 16 Jul 06:04
964080d

Design, verify, and maintain — not just run

kane-cli began as a way to author and replay browser tests. 0.6.0 takes on the entire test lifecycle. Describe what your product must do, and kane-cli designs the tests that prove it — each one linked to the requirement it verifies. Run them and see exactly what's covered and what isn't. And as your product changes, kane-cli maintain reconciles, evolves, and learns, so your suite stays honest instead of quietly drifting out of date.

Alongside the new workflow, this release brings a major upgrade to assertions and conditions, and a faster, clearer interactive shell.

[0.6.0] - 2026-07-15

From requirements to a designed suite

Point kane-cli at what your product must do, and it designs a suite that proves it — every test tied to the criteria it verifies.

  • Each test records the acceptance criteria it covers — the link between a test and its requirements is captured at authoring time and stays permanent and auditable.
  • Results are reported per criterion, not just per test — a test that satisfies 3 of 5 tagged criteria shows exactly that, instead of a blanket pass.
  • You're warned when a test claims more than it checks — tagged criteria that no automated check covers are surfaced up front.
  • Every test file links cleanly to its design entry, so coverage lookups are exact.

See exactly what's covered

Coverage stops being a guess — every run reports what it reached and what it missed.

  • Coverage reflects the current run — sealed evidence and reports cover only what this run touched; project-wide coverage stays separate and unaffected.
  • kane-cli cover shows coverage and gaps side by side, each gap anchored to its use-case so nothing is quietly dropped.
  • Evidence is self-contained — referenced sources travel inside the pack with a content fingerprint, verifiable offline.
  • usecases.yaml is a coverage snapshot you can diff — requirements, verdicts, run history, risk, and gaps in one file.

Keep the suite current

Products change; tests shouldn't rot. The kane-cli maintain family keeps them aligned.

  • Reconcile and evolve your suite as your product changes — kane-cli surfaces what's drifted and helps bring tests back in step with new behavior, with updates reviewed before they're applied.
  • kane-cli maintain learn — a read-only view of the signals your maintenance decisions leave behind, which inform future runs.

Author richer checks

Assertions and conditions gained real depth this release.

  • DOM is the default assertion mode, with final validation now a configurable setting.
  • Boolean and arithmetic assertions — combine checks with boolean logic and assert on computed values like totals and quantities.
  • Containment checks — a "shows X" assertion verifies X is present, rather than requiring an exact match.
  • Replay-safe conditional steps — conditions re-run deterministically, so conditional flows behave the same on every replay.
  • Variables inside a condition now export a test that genuinely asserts, instead of one that could never fail.

Solid underneath

  • Changes are visible immediately — later steps work against the current state, not a stale snapshot.
  • A hung run is diagnosablekill -USR1 <pid> writes a full stack trace to the session log, captured live rather than only on clean exit.
  • A test with no starting URL fails fast instead of hanging for input.
  • Plus fixes: per-criterion status display, contained failures during generation and clean identifier truncation.
  • Windows: Tier 1 agent resolution is fixed — a path-resolution bug that prevented the agent from starting on Windows is resolved.

Install

# npm
npm install -g @testmuai/kane-cli@0.6.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.5.0...0.6.0

kane-cli 0.5.0

Choose a tag to compare

@robot-lt robot-lt released this 12 Jul 16:57
9d74d55

Highlights

Bug detection is now built in: failed runs are investigated automatically and get a structured verdict in failure.yaml, and opt-in --bug-detection lets the agent flag suspected product bugs mid-run — a confirmed bug is recorded with result code 740 so pipelines can tell real regressions from test issues. Every run now seals a structured evidence pack — screenshots, network HAR, console logs, and a result summary — viewable in a browser viewer right after the run finishes. And multi-test execution lands with kane-cli testrun run: parallel members on isolated browsers, tag-based selection, and one sealed evidence pack for the whole suite.

[0.5.0] - 2026-07-12

Automatic bug detection on every failure

  • Failures are investigated, not just reported — when a run fails, kane-cli automatically investigates whether it hit a product bug or a test issue and records a structured verdict in the pack's failure.yaml, alongside the page state and pointers into the console/network logs.
  • Result code 740 means a confirmed product bug — a confirmed bug is recorded as result code 740 in the run's result records and final event, so CI pipelines can distinguish genuine regressions from flaky tests.
  • Proactive detection is configurable--bug-detection off|stop|continue on run, testmd run, and testrun run (default off): stop halts the run on a confirmed bug, continue records it and keeps going. Persist it with config set-bug-detection or the TUI settings panel.
  • Investigation never stalls a run — investigations run asynchronously, so other members in a multi-test run are never blocked waiting for a verdict.

Evidence packs: structured proof for every run

  • Every run now produces an evidence pack — screenshots, a HAR network log, console output, and a result.yaml summary are bundled and sealed into a single zip after each run. Saved runs land in .testmuai/evidence/ in your project.
  • Visual steps get an annotated screenshot — each visual action produces an annotated.png with a crosshair and bounding box so you can see exactly what was targeted.
  • Console and network traffic are captured per step — each run's network log is saved as a real HAR file (readable in any HAR viewer) and console output as NDJSON, both attributed to the step that produced them.
  • Packs publish automatically and can be merged — replayed tests and testrun executions publish their sealed pack to your project's execution history; kane-cli evidence merge combines several packs into one. kane-cli testmd sync <path> pushes a test's replay bundle (test + imports + outputs) to the cloud.

Browse your evidence right after a run

  • A browser viewer opens after every run — on interactive runs, kane-cli prompts to open the sealed pack in a browser-based viewer; non-interactive runs print a hint line instead.
  • kane-cli evidence serve — serve any sealed pack to the viewer from a localhost-only server (nothing is uploaded — the viewer reads the pack from your machine); holds until Ctrl-C.
  • kane-cli evidence validate — check a pack's structure and completeness without running a test; exit codes make it easy to gate in CI.

Run multiple tests at once with kane-cli testrun run

  • kane-cli testrun run executes a set of _test.md files as one run — select members by path, tag (tags: frontmatter key, ANY-match), or auto-discovery, with a bounded worker pool (--parallel) and optional fail-fast (--on-failure fail-fast).
  • Each parallel worker gets an isolated Chrome — a fresh temporary profile per worker, so members never share cookies, logins, or tabs.
  • --dry-run previews what would execute — the exact members, per-member preflight results, and any org/project mismatches, before a single browser opens.
  • One sealed pack for the whole suite — every member's results, logs, and screenshots land in a single evidence pack; skipped and broken members are recorded with full detail, not silently dropped.
  • Ctrl-C is graceful — no new members start, in-flight members finish, the evidence pack still seals, and the run exits 3.

Replay is more accurate and complete

  • Step geometry reflects the actual page at replay time — element coordinates and bounding boxes in step.json come from the live page during the run, not from the original recording.
  • Pure replay packs carry the original execution.json — the authored execution tree is preserved exactly; unexecuted actions are recorded as skipped in result.yaml, and failed steps are kept in the tree.
  • Variables resolve correctly on cloud runs — cloud-provisioned variable bindings substitute correctly during replay.
  • WebSocket and SSE assertions arm capture automatically — exported and replayed tests that assert on WebSocket or SSE traffic enable the right capture without manual configuration.

Result records are richer and more trustworthy

  • result.yaml now includes who ran the test — executed-by carries the user name and email from the authenticated identity.
  • Tags from _test.md frontmatter appear in result.yaml — tags flow through the full pipeline, including skipped and broken entries.
  • action_id links steps to the execution tree — step events and result.yaml entries share a join key, so external tools can correlate them precisely.
  • OS version and browser viewport are recorded automatically — the result's environment block includes the host OS version and the actual browser resolution, for replays too.

Also in this release

  • npm installs work on Linux ARM64 — the matching platform binary is selected automatically.

Install

# npm
npm install -g @testmuai/kane-cli@0.5.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.4.10...0.5.0

kane-cli 0.4.10

Choose a tag to compare

@robot-lt robot-lt released this 03 Jul 14:42

Highlights

Text input handling is more reliable, with proper escaping of special characters in typed content. Visual presence checks are smarter — uncertain results now escalate to a visual scan instead of silently returning false. Debugging validation errors just got easier too, with request bodies now logged on failures.

[0.4.10] - 2026-07-03

Smarter visual checks

  • "Element not found" is no longer a silent failure — when a presence check is uncertain, kane-cli now escalates to a visual scan instead of confidently returning false, reducing missed detections.
  • Hover actions work on vision coordinates — previously, hovering over a vision-identified coordinate would fail; it now maps correctly to a click-compatible action.

More reliable text input

  • Special characters in typed text are handled correctly — literal tokens inside type and fill actions are now properly re-escaped, preventing misinterpretation of characters that would otherwise be treated as control sequences.

Clearer error feedback

  • Validation errors now show what was sent — on a 422 response, the full request body is logged so you can see exactly what the server rejected without extra debugging steps.
  • Status codes pass through accurately — 422 errors are only raised for request-body validation problems; other upstream errors now forward their original status codes instead of being masked.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.10

# 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.4.9...0.4.10

kane-cli 0.4.9

Choose a tag to compare

@robot-lt robot-lt released this 01 Jul 13:08

Highlights

Real-time SSE streaming is now wired end-to-end — from network capture through replay and the TUI. Navigation reliability improves with faster page transitions.

[0.4.9] - 2026-07-01

Live SSE streaming in the TUI

  • Network SSE is now a toggleable mode — a new network_sse flag (and matching TUI toggle) lets you stream server-sent events through the run pipeline rather than waiting for full responses.
  • SSE activity is visible in the run view — connection summaries and an analyzer log surface what SSE connections are active, so you can see streaming traffic at a glance without leaving the terminal.
  • Replay arms and runs automatically with SSE — when SSE mode is on, replay start and stop are handled for you; no manual setup required.

Faster, more reliable navigation

  • back and forward navigations no longer hang for 30 seconds — navigation completes as soon as the browser commits, not after a full load timeout.

Local assertions

  • Assertion evaluations are now local — the evaluations for assertions are now local, previously they were managed at server even though they were deterministic.

Fixes and edge cases

  • System-only API nodes no longer error on empty input — a guard prevents sending a blank request to the LLM when there is no user message.
  • Multi-line @ branch events are matched correctly — if/else branch events spanning multiple lines are now captured and routed as expected.
  • SSE response bodies are skipped during network capturetext/event-stream responses no longer attempt a full body read, which avoids stalling the capture pipeline.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.9

# 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.4.8...0.4.9

kane-cli 0.4.8

Choose a tag to compare

@robot-lt robot-lt released this 25 Jun 21:14

Highlights

WebSocket traffic is now a first-class citizen in kane-cli: you can capture and inspect WS frames alongside regular network activity, and the TUI exposes the toggle right in Config > Run. Several authoring-side fixes tighten up how the AI generates test steps — no more invented field keys, cleaner conditional handling in multi-step flows.

[0.4.8] - 2026-06-25

WebSocket capture, now surfaced end-to-end

  • Toggle WebSocket capture from the TUI — a new switch in Config > Run lets you turn WS frame capture on or off without editing config files.
  • WS frames appear alongside network activity — WebSocket traffic is folded into the devtools network view, so HTTP and WS events show up in one place during both test runs and authoring sessions.

Smarter AI-generated test steps

  • No more invented response field names — when extracting values from API responses, kane-cli now insists on named extractions tied to real fields rather than making up key names.
  • Conditionals inside multi-step flows wrap correctly — flows that mix conditional logic with multiple actions no longer produce malformed step sequences.
  • Driver and block payloads are treated as literal data — previously, the runner could misinterpret structured payloads; they are now passed through as-is.

Version check that actually works

  • check-version reliably detects when a newer release is published — the gate was previously missing live published versions; it now correctly compares against the registry.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.8

# 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.4.7...0.4.8

kane-cli 0.4.7

Choose a tag to compare

@robot-lt robot-lt released this 22 Jun 21:24
0c2c019

Highlights

The headlining change in this release is a live run view that shows what kane-cli is actually doing — step labels appear as the AI reasons, with a typewriter effect and a real-time describe panel. Behind that, a new text-based assertion engine (textual visual) gives the AI a stable, code-driven way to check page content without relying solely on screenshots.

[0.4.7] - 2026-06-22

A live run view that shows what's happening

  • Step labels appear as the AI reasons — instead of waiting until a step completes, the label streams in with a typewriter effect and a blinking cursor, so you can follow along in real time.
  • A dedicated describe panel in the run view — a bordered box below the activity line shows a plain-English description of what the browser just did, updating live as each step finishes.
  • The objective header is now a proper bordered box — replaces the flat grey bar, making it easier to visually separate your goal from the step activity below.
  • Long objectives no longer overflow the terminal — the run box wraps long objective text and pins itself to your terminal width. The step timer no longer flickers on updates.

More accurate assertions and text extraction

  • A new text-based assertion path checks page content via code, not just screenshots — for assertions, kane-cli can now extract structured DOM content and run a code extractor against it, giving more stable and replay-safe results.
  • Boolean checks now steer toward presence vs. state — rather than brittle exact-match comparisons, the AI now uses a dedicated mode that asks whether something is present or in a given state, reducing false failures.
  • Assertion intent carries through to code export — the query, expected value, and unit-conversion flag from a heal/assertion step now travel all the way into exported automation code.

Cleaner, more accurate step labels

  • Step labels are generated in parallel with execution — the humanizer runs alongside the action node so labels appear faster, without blocking the step.
  • Labels are cleaner by default — auto-generated step labels strip autopilot grounding descriptors and redundant "wait" language, and whitespace-only names are normalized at ingestion.
  • The initial navigate step now always gets a label and rationale — the first navigate step no longer silently skips humanization.

Reliability and display fixes

  • Loopback URLs get the right scheme — hosts like localhost now correctly get http:// instead of being flagged as unresolvable.
  • Screenshots are labeled correctly — images were being sent as image/png even when they were JPEG; the content type is now correct.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.7

# 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.4.6...0.4.7

kane-cli 0.4.6

Choose a tag to compare

@robot-lt robot-lt released this 18 Jun 18:53
604b8b2

Highlights

This release delivers end-to-end API task execution inside test runs — kane-cli can now call external APIs as steps in a flow, thread the results through to subsequent steps, and capture the full prompt/tool/output trace for every request. Logging and error surfacing for API steps are also substantially more reliable: failed API calls now surface as failures, and no capture data is silently dropped.

[0.4.6] - 2026-06-18

API steps inside test flows

  • Call external APIs as first-class test steps — flows can now include execute_api steps that dispatch a named API call, store the response, and pass it forward to later steps in the same run.
  • Child flows inherit API context — when a flow spawns a child, the child has access to the parent's API registry and writes its response back so the parent can read it; this chains correctly across multiple nesting levels.
  • API variables resolve by dot-path — output values from an API step can be referenced with dot-path syntax in subsequent conditions and actions, including inside if_else branches that follow an API step.

Capture and observability

  • API request captures are no longer silently dropped — every upload attempt (prompt, tools, output, usage) now logs success or error explicitly, so missing data is always visible in the run log.
  • Bifurcation decisions are written to disk — phase-segmentation bifurcation logs are persisted to runs/<n>/bifurcation.log in both normal and testing mode, so the branching decision is always inspectable after a run.

Reliability and failure surfacing

  • Fixed: child flows ran without their tools — a flow spawned from another flow wasn't receiving its tools (tab switching, the ask-user prompt, file upload, etc.), so nested flows silently couldn't perform actions a top-level flow could. Spawned flows now inherit the parent's full tool set and behave the same as top-level flows.
  • No orphan run directories on early exit — the run directory is allocated lazily, so runs that return early (e.g. due to a pre-flight error) no longer leave empty directories behind

Install

# npm
npm install -g @testmuai/kane-cli@0.4.6

# 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.4.5...0.4.6