v0.1.18

Chainlit/chainlitv0.1.18Aug 6, 2026by yury-s

AI Summary

Adds support for global skill installation, expands code generation to Python, Java, and C#, and introduces a configurable post-action settle delay. It also fixes numerous MCP and CLI issues including JSON response formatting and browser reconnection logic.

Key Highlights

  • Added `-g` flag support for `install --skills` to install globally
  • Expanded generated code support to Python, Java, and C#
  • Added configurable post-action settle delay
  • Fixed `--json` responses to emit structured snapshots instead of wrapped strings

New Features

  • `install --skills` supports the `-g` flag
  • Generated code in Python, Java and C#
  • Configurable post-action settle delay

Full Release Notes

## Highlights

- **`install --skills` supports the `-g` flag** ([microsoft/playwright#42087](https://github.com/microsoft/playwright/issues/42087)) — installs the skill into your home directory instead of the current workspace. ([microsoft/playwright#42099](https://github.com/microsoft/playwright/pull/42099))
- **Generated code in Python, Java and C#** ([microsoft/playwright-mcp#1696](https://github.com/microsoft/playwright-mcp/issues/1696)) — code can be generated in Python, Java and C# in addition to JavaScript. ([microsoft/playwright#42106](https://github.com/microsoft/playwright/pull/42106))
- **Configurable post-action settle delay** — tune how long the CLI waits for the page to settle after each action. ([microsoft/playwright#41924](https://github.com/microsoft/playwright/pull/41924))

## Fixes

- `feat(mcp): emit structured snapshot in --json responses` — `--json` no longer wraps formatted text in a string; responses carry a structured page snapshot. ([microsoft/playwright#42076](https://github.com/microsoft/playwright/issues/42076), [microsoft/playwright#42098](https://github.com/microsoft/playwright/pull/42098))
- `feat(mcp): add snapshot.boxes config to include bounding boxes in snapshots` — bounding boxes can now be enabled globally via config rather than per snapshot. ([microsoft/playwright-mcp#1695](https://github.com/microsoft/playwright-mcp/issues/1695), [microsoft/playwright#42102](https://github.com/microsoft/playwright/pull/42102))
- `fix(cli): exit with non-zero code when the tool result is an error` — failed commands no longer exit with status 0, so scripts and agents can detect errors. ([microsoft/playwright#42028](https://github.com/microsoft/playwright/issues/42028), [microsoft/playwright#42042](https://github.com/microsoft/playwright/pull/42042))
- `fix(cli): accept multiple files in upload command` — `upload` no longer rejects a second file although it advertises "one or multiple files". ([microsoft/playwright#42047](https://github.com/microsoft/playwright/issues/42047), [microsoft/playwright#42057](https://github.com/microsoft/playwright/pull/42057))
- `fix(mcp): reconnect to the browser after disconnect` — the relay reconnects after the browser extension disconnects. ([microsoft/playwright#41874](https://github.com/microsoft/playwright/issues/41874), [microsoft/playwright#41966](https://github.com/microsoft/playwright/pull/41966))
- `fix(mcp): launch the Chrome profile that has the extension installed` — `attach` no longer targets a different profile than the one with the extension. ([microsoft/playwright#41916](https://github.com/microsoft/playwright/issues/41916), [microsoft/playwright#41939](https://github.com/microsoft/playwright/pull/41939))
- `fix(mcp): pass noDefaults for extension CDP connections` — extension connections no longer override existing browser defaults. ([microsoft/playwright#42117](https://github.com/microsoft/playwright/issues/42117), [microsoft/playwright#42119](https://github.com/microsoft/playwright/pull/42119))
- `fix(mcp): clear dialog modal state when dialog is closed out of band` — dialogs dismissed by hand in headed mode no longer leave the session stuck in a modal state. ([microsoft/playwright#42032](https://github.com/microsoft/playwright/pull/42032))
- `fix(mcp): report malformed JSON config instead of falling back to INI` — a broken JSON config file now produces a clear error instead of being silently parsed as INI. ([microsoft/playwright#41909](https://github.com/microsoft/playwright/pull/41909))
- `fix(mcp): surface the missing executable path when a browser isn't installed` — clearer error message pointing at the missing browser executable. ([microsoft/playwright#41941](https://github.com/microsoft/playwright/pull/41941))
- `fix(mcp): identify downloads explicitly` — downloads are labeled explicitly in command responses. ([microsoft/playwright#41933](https://github.com/microsoft/playwright/pull/41933))
- `fix(mcp): validate Host and Origin on CDP relay WebSocket upgrades` — hardens the extension relay against unauthorized cross-origin connections. ([microsoft/playwright#42103](https://github.com/microsoft/playwright/pull/42103))
- `fix(mcp): escape user input in codegen output` — special characters in your input are escaped correctly in the generated code. ([microsoft/playwright#41962](https://github.com/microsoft/playwright/pull/41962))
- `fix(mcp): mention PLAYWRIGHT_MCP_EXECUTABLE_PATH in extension not found error` — points at the escape hatch when the extension browser can't be located (e.g. on WSL2). ([microsoft/playwright#42092](https://github.com/microsoft/playwright/issues/42092), [microsoft/playwright#42122](https://github.com/microsoft/playwright/pull/42122))
- `perf(mcp): skip aria snapshot capture when the response discards it` — commands that don't need a snapshot run faster. ([microsoft/playwright#41923](https://github.com/microsoft/playwright/pull/41923))
- The v0.1.17 fix for `goto` crashing on privileged pages (`chrome://…`) was reverted upstream: the crash originates in the browser process itself, and the fix only masked it. ([microsoft/playwright#41931](https://github.com/microsoft/playwright/pull/41931))