Skip to content

Releases: LambdaTest/kane-cli

kane-cli 0.4.5

15 Jun 14:49
18c109c

Choose a tag to compare

Highlights

Stability improvements across the board: smarter retries, more reliable variable handling in test URLs, and better cleanup when runs are cancelled. These fixes address real failure modes users were hitting in production test flows.

[0.4.5] - 2026-06-15

Smarter retries and timeouts

  • Chrome no longer hangs on startup — the CDP launch now has a bounded retry loop and a configurable timeout, so a stuck browser process fails fast instead of blocking your run indefinitely.
  • Retry logic handles edge cases correctly — previously, certain hung or degenerate branching states could cause retries to stall or misbehave; these are now resolved cleanly.

More reliable variable and URL handling

  • {{var}} placeholders in start URLs are passed through as-is — the CLI no longer tries to resolve or rewrite template variables in start URLs before the run begins, so your parameterized URLs reach the browser exactly as written.
  • Value comparisons and cross-page checks are more robust — boundary values, if/else branching logic, and comparisons that span multiple pages are handled more consistently during test execution.

Cleaner run lifecycle

  • Cancelling a run releases its playground lock — if a run was cancelled or never committed, the TMS playground lock could be left held, blocking future runs. That lock is now released automatically.

Install

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

# 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.4...0.4.5

kane-cli 0.4.4

14 Jun 06:55

Choose a tag to compare

Highlights

The central theme of this release is start URL control. You can now set a default URL once and forget it, pass one per-run with --url, or embed it in a .testmd file's frontmatter — and the CLI will tell you clearly when one is missing rather than silently falling back to a placeholder.

[0.4.4] - 2026-06-14

One place to set your start URL

  • Default URL in config — set a default start URL with config set-url and the CLI will use it for every run automatically. The /config menu in interactive mode now includes a "Default URL" item, and show displays whatever value you've stored.
  • Per-run --url flag — pass --url <address> on any kane run or testmd run call to override the default for that run without touching your config.
  • URL in .testmd frontmatter — add a url: key to a test file's frontmatter and it becomes that file's built-in start URL. Resolution order: --url flag → frontmatter → stored default.

Clearer errors when a URL is missing

  • Missing URL is now a hard stop, not a silent fallback — previously the CLI could fall back to a hardcoded placeholder (google.com). Now, if no URL can be resolved, an overlay in the TUI or an error in the CLI tells you immediately and asks you to supply one.
  • Skip the requirement when you need to — pass --allow-missing-url on non-TTY runs to opt out of the URL requirement entirely, useful for headless pipelines where the URL comes from another source.

Fewer surprises in long sessions

  • URL is only sent for the first run, not replayed — after the first completed run in a session, the start URL is no longer re-injected into subsequent sub-flows, which prevents stale navigation on /new or follow-up runs.
  • Session reset clears URL state cleanly/new and /reset now properly reset the internal "has completed run" flag, so a fresh session behaves exactly like the first one.
  • Non-TTY testmd runs no longer prompt — when running in a non-interactive environment, the CLI no longer blocks waiting for user input if a URL is missing.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.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.4.3...0.4.4

kane-cli 0.4.3

12 Jun 20:50
9c6f5b0

Choose a tag to compare

Highlights

Browser automation gains clipboard, cookie, and localStorage tools. A contextual hints system now lives in the footer of the TUI, surfacing mode-aware tips as you work.

[0.4.3] - 2026-06-12

New browser-automation tools

  • Clipboard, cookie, and localStorage are now first-class tools — test flows can read and write the virtual clipboard, and can perform full create/read/update/delete operations on cookies and localStorage, matching what a real browser session can do.

Contextual hints in the footer

  • A live hints bar at the bottom of the TUI — a new footer row shows tips relevant to your current mode, cycling through a remote catalog that updates automatically (cached for 1 hour).
  • Hints can be turned off — run /config inside the TUI to toggle hints on or off; the setting is saved locally and defaults to on.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.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.4.2...0.4.3

kane-cli 0.4.2

10 Jun 18:28
610a6ae

Choose a tag to compare

Highlights

File attachments arrive in generate mode: attach local files with --files or @-mention them inline, and they're validated, uploaded, and threaded into the session automatically. A unified @ palette lets you reference files, scenarios, and test cases from a single selector. The install subcommand now checks version maps and back-fills missing agent directories on re-runs.

[0.4.2] - 2026-06-10

Attach files to generate sessions

  • Local files in generate mode — pass --files on the command line or type @filename inline to attach files to a generation request; kane-cli validates, uploads, and maps them automatically before submitting.
  • @-mention selector with grouped categories — typing @ opens a unified palette that organizes matches into Files, Scenarios, and Test Cases, with a bounded 7-row scroll window so it never takes over the screen.
  • Mistyped @ paths are surfaced, not silently dropped — if a referenced file can't be found, kane-cli warns you instead of ignoring it.
  • Input locks during upload — the prompt becomes inert while attachments are processing, and a "Processing files" label replaces any ambiguous spinner text.
  • Uploads are cancellable — pressing Ctrl+C during a file upload aborts cleanly and leaves a scrollback marker so you can see where the session stopped.

Smarter generate-mode interaction

  • Per-session input history — generate mode keeps its own history separate from run mode; press the up arrow to recall previous prompts.
  • Duplicate submits are blocked — hitting submit twice in quick succession no longer fires a second request; the guard resets correctly after upload completes rather than after the full session ends.
  • Frozen refine input is fixed — if a chat POST was rejected, the refine input could get stuck; it now resets correctly so you can type again.
  • Generation failures visible in scrollback — errors from failed generation requests appear inline in the terminal and are also written to a local errors.log, with the same event sent to telemetry.

Install subcommand

  • kane install checks for updates — a new /public/skills/kane-cli endpoint backs a version-map check so kane install knows when a newer agent version is available.
  • kane install <version> — pass a version as a positional argument to pin the install; already-installed targets are back-filled on re-runs so missing agent directories are never left behind.
  • Network calls time out — install-phase requests are now bounded with abort timeouts so a slow or unreachable endpoint doesn't hang the terminal indefinitely.

Project and folder gate in generate mode

  • Generate mode enforces project/folder selection — entering /generate now applies the same project and folder gate as /run, so sessions can't start without a valid context set.

Startup noise reduced

  • Node 18 buffer.File warning suppressed — the ExperimentalWarning that appeared on Node 18 at startup is now filtered out; other warnings are unaffected.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.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.4.1...0.4.2

kane-cli 0.4.1

08 Jun 21:01
c220ee3

Choose a tag to compare

Highlights

Project and folder are now required on every run — kane-cli will gate, prompt, or auto-default instead of silently proceeding without context. Variable handling in recorded tests is more faithful, preserving bare references and quoted literals exactly as typed. A wave of reliability fixes closes auth gaps, TTY-asymmetry edge cases, and stale-cache bugs across interactive and non-interactive paths.

[0.4.1] - 2026-06-08

Breaking & behavior changes

  • Bare-objective shortcut removed. kane-cli "<objective>" no longer routes to run. Use kane-cli run "<objective>".
    Unknown first tokens now exit 2 with a "did you mean" suggestion instead of silently running.
  • Exit code 1 → 2 for TMS credential-exchange failures. Aligns with the other auth/setup failure codes. CI scripts that
    branch on exit 1 vs 2 should be updated.
  • config show and the new list commands emit JSON when stdout is piped or redirected (> file, | jq) instead of the human table. Useful for scripts; anyone scraping the human format will need to update.
  • Mid-run interactive project/folder picker removed. When the startup gate finds nothing configured (or a stale/invalid cached value), it auto-defaults headlessly and announces the choice rather than prompting. The explicit kane-cli config project / config folder pickers still work in a TTY.

Project & folder selection

  • Zero-config first run — every run path (kane-cli run, kane-cli testmd run, kane-cli generate) validates a
    project/folder before launching. If nothing is configured, kane-cli auto-resolves (find-or-create) and announces the choice in the TUI scrollback and as a project_folder_auto_defaulted event under --agent.

  • New projects and folders subcommands for scripted setup:

    • kane-cli projects list [--search] [--limit] [--offset]
    • kane-cli projects create <name> [--description]
    • kane-cli folders list [--search] [--limit] [--offset]
    • kane-cli folders create <name> [--description]

    Human table in a TTY, NDJSON when piped or under --agent, with _meta-paginated output for agents.

  • Self-healing for stale, invalid, or typo'd IDs — a cached project/folder that's been deleted, renamed, revoked, or set to a malformed value is detected at run start and replaced via auto-default, instead of silently breaking the upload at the end of the run.

  • OAuth users can use the interactive config project / config folder picker again — a regression that required basic-auth credentials to reach the picker is fixed.

  • OAuth tokens refreshed in the projects/folders auth path — expired tokens no longer cause silent failures when listing or selecting projects.

More faithful recorded tests

  • Bare variable references are preserved in recorded test.md — variable refs are written as-is, not coerced or mangled during recording.
  • --author is honored in non-TTY and agent runs — passing --author in CI or agent mode now takes effect as expected.

Variable handling in recorded tests

  • --variables-file and auto-store values resolve as expected (LambdaTest/kane-cli#69, #75) — the runtime {{VAR}} resolver now tries the local resolver first and falls back to the ATMS lookup, instead of silently dropping values the file had set.
  • Recorded *_test.md no longer double-prefixes variable namespaces #76 — replays previously produced {{secrets.user.secrets.user.X}} which never resolved; recorded objectives + frontmatter now persist bare {{name}} refs.

Non-TTY & agent runs

  • --author is honored in non-TTY and --agent runs (LambdaTest/kane-cli#72) — forcing re-authoring no longer falls back to the stale cached plan in headless mode.
  • Typo'd subcommands fail loudly instead of silently running your input as an objective (see Breaking).

Auth

  • login / whoami verify credentials server-side (LambdaTest/kane-cli#58) — previously both could report success while the backend rejected every API call; invalid tokens now fail immediately instead of after the first real command.

Cleaner output and display

  • Project-list count shown as a lower bound while streaming — the projects denominator is now marked as approximate during streaming, so the display is not misleading.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.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.4.0...0.4.1

kane-cli 0.4.0

04 Jun 18:42

Choose a tag to compare

Highlights

A new kane-cli generate command brings AI-driven test case generation directly into the CLI, with a full interactive TUI, bifurcation into per-scenario .testmd files, and headless/scripted modes. Saved tests are now browsable and runnable inline from within a live session. Share URLs surface in agent output so every completed run is immediately linkable.

[0.4.0] - 2026-06-04

AI test generation (kane-cli generate)

  • New kane-cli generate "<objective>" command — starts an AI-driven generation session in an interactive TUI; refine the objective through a chat-like interface, then /save to materialize .testmd test files.
  • Headless / scripted generation — run kane generate with --refine or --save flags for non-interactive pipelines; --out controls where the resulting files land.
  • Scenarios drill-in with /view — while generating, /view opens a full-screen browser showing scenarios and individual test cases as they are produced; cases can be excluded before saving.
  • Bifurcation into per-case .testmd files — each scenario is split into independent test cases eagerly; /save writes only functional cases and reports exactly how many were written.
  • Clarification round-trips — if the AI needs more detail mid-generation, it prompts inline and resumes once answered; cancel any in-flight turn with Ctrl+C without losing the session.
  • Mode-switch guard — switching from Generate to Run (or vice versa) while work is in progress asks for confirmation; an active inline run blocks the switch entirely.

Browse and run saved tests inline

  • /list opens a saved-tests overlay — from inside a run session, /list shows all saved .testmd tests; select one to inspect it, then launch it as a full inline run without leaving the TUI.
  • Inline .testmd runs have full fidelity — the in-session run gets its own scoped lifecycle, keybindings, and log; it can't accidentally kill the outer session's Chrome when it exits.
  • Run summary and share link appended on completion — when an inline .testmd run finishes, the summary and share URL are written into the scrollback.

Share URLs in agent output

  • share_url now appears in agent NDJSONtest_md_summary and test_md_done events both carry the share URL, so CI pipelines and downstream tooling can link directly to the completed run.

Chrome profile support

  • --chrome-profile flag on kane-cli run — pass a Chrome profile name at the command line; it is also picked up automatically from .testmd frontmatter when running saved tests.

Cleaner Generate TUI

  • Teal accent and wider progress bar — Generate mode uses a distinct teal color scheme; the progress bar grows from 10 to 24 cells so progress is easier to read at a glance.
  • Bottom bar condensed to 3 rows — the model name is gone; Mode, Session ID, and key hints fit on three lines.
  • Thinking box capped at 5 rows — the expanded thinking panel no longer pushes the live region off-screen.
  • Agent replies wrap correctly — each reply block renders as a single unit so Ink wraps at word boundaries; bullets and indented blocks no longer dedent mid-line.
  • Markdown formatting in agent replies — bold, italic (boundary-safe, so snake_case is never mangled), and @-mention mappings render correctly in the scrollback.
  • Mode-scoped commands — slash commands are locked to the mode they belong to; foreign commands are rejected with a clear message rather than silently ignored.

Install

# npm
npm install -g @testmuai/kane-cli@0.4.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.3.7...0.4.0

kane-cli 0.3.7

04 Jun 12:09

Choose a tag to compare

Highlights

Navigation and element interaction have been significantly overhauled. Test runs now start with a deterministic, timed navigation step before any other actions, and dropdown/combobox handling is smarter — the right interaction strategy is chosen automatically based on the element type.

[0.3.7] - 2026-06-04

Deterministic navigation at run start

  • Runs now navigate to the target URL as a defined first step — navigation happens in its own phase before any test actions begin, so timing is predictable and logged accurately with real wall-clock duration.
  • Navigation and session setup happen in parallel — the browser moves to the start URL at the same time the session initializer spins up, reducing dead time at the start of a run.

More reliable dropdown and combobox interaction

  • Custom ARIA comboboxes are now clicked instead of selected — elements that look like dropdowns but use custom ARIA roles get the interaction they actually respond to, reducing failed selections.
  • All combobox, listbox, and select elements expose their options again — option extraction was missing for some element types and is now restored across the board.

Fewer silent failures

  • Non-text request bodies no longer crash the session — a UnicodeDecodeError reading binary or malformed request content is now swallowed gracefully instead of surfacing as an error.
  • Viewport size is read correctly — a subtle API mismatch when querying the viewport has been fixed, so layout-sensitive steps get accurate dimensions.

Cleaner run objective display

  • The run's objective now shows the full picture — the display combines the start URL and the cleaned task description into a single stitched objective, so what you see at the top of a run reflects exactly what was requested.

Install

# npm
npm install -g @testmuai/kane-cli@0.3.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.3.6...0.3.7

kane-cli 0.3.6

02 Jun 18:45
e45e376

Choose a tag to compare

Highlights

DevTools is now a first-class citizen in kane-cli. Network traffic, browser console output, cookies, localStorage, and performance traces can all be inspected, asserted on, extracted from, and replayed — complete with code export to JavaScript.

https://github.com/LambdaTest/kane-cli/tree/main/docs/user-guide/features/checkpoints

[0.3.6] - 2026-06-02

DevTools assertions and extraction

  • Assert on network requests directly in your tests — KaneAI can now inspect live network traffic during a run, letting you assert on request/response bodies, status codes, and headers using operators like gte, lte, and not_equals.
  • Read and assert on browser console output — console logs (errors, warnings, app-level messages) are captured per run and can be used as assertion targets or extraction sources, with level normalization handled automatically.
  • Cookies and localStorage are now inspectable — Kane-cli can read, assert on, and extract values from cookies and localStorage during a test run.
  • Performance traces are captured and assertable — browser performance data is collected inline during a run and exposed as an assertion and extraction target.

Code export for DevTools actions

  • DevTools actions now export to Code — network queries, console reads, cookie access, and performance snapshots all produce correct automation code when code export is enabled, including replay support.

Replay handles DevTools actions

  • Replaying DevTools steps works end-to-end — network capture starts and stops correctly around devtool_network replay steps; console, cookie, storage, and performance actions are all wired into the replay execution.

Install

# npm
npm install -g @testmuai/kane-cli@0.3.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.3.5...0.3.6

kane-cli 0.3.5

29 May 18:14

Choose a tag to compare

Highlights

Element matching now scores its own confidence and can flag low-confidence matches before they silently break a test. Transient network failures retry automatically. OAuth-only users can now use --retry, screenshots upload reliably across session transitions, and action mode can opt out of auto-generated checks.

[0.3.5] - 2026-05-29

Features Added

  • Opt out of auto-generated checks in action mode (kane-cli#43) — when authoring tests via kane-cli in action mode, the CLI no longer appends its own final-verification check. Authors keep full control over which assertions land in the generated test file. (Behavior unchanged outside action mode.)
  • Confidence-scored element matching — every element-match call now reports a confidence score and the visual cues that influenced it. Low-confidence matches are rejected up front instead of letting a wrong element silently get clicked.
  • Richer target descriptions — element targeting now distinguishes load-bearing descriptors (PRIMARY) from supporting visual cues (HINTS), producing fewer ambiguous matches on visually similar elements.

Bugs Resolved

  • --retry now works with OAuth credentials (kane-cli#52) — OAuth users no longer have to fall back to --username / --access-key. Credentials are resolved up front before the run lock is acquired.
  • Screenshots upload reliably across the full session lifecycle (kane-cli#42) — image network calls now fire consistently in kane-cli reports across boot, login, profile switch, and /new session resets.

Reliability improvements

  • Automatic retry on transient network failures — idempotent reads retry with backoff instead of failing the run immediately.
  • Stale credential cache falls back correctly — if the in-memory snapshot is out of date, the CLI falls back to the last known good cached credentials.
  • Session transitions handled consistently — boot, login, profile switch, and logout now go through a single dispatcher, closing gaps where auth state could get out of sync.
  • Remote logger and screenshot queue init hardened — the logger won't re-initialize if already running, and a screenshot setup failure no longer takes down the surrounding operation.

Install

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

# 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.4...0.3.5

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