Beta. LIME is in active development. It is usable for real work, and we run it on our own projects, but settings, the chat protocol and the shape of exported tests may still change between releases. Please report anything that breaks: [email protected].
Agentic mobile testing inside your IDE. Start a device session, describe a test in plain English, watch the LIME agent drive the device live, and export the recorded test into your project as a taqwright spec, WebdriverIO, or Appium (Java, Python, Ruby, C#).
Full documentation: taqwright.ai/docs/vscode.
Install
Search for Taqwright LIME in the Extensions view, or run:
code --install-extension taqwright.lime-vscode
You need a Taqwright account to sign in. Accounts are provisioned rather than self-serve, so request access at taqwright.ai/contact.
Getting started
- Open the LIME panel from the activity bar.
- Click Sign in with Taqwright. Your browser opens, you approve this editor, and the
credential comes back automatically. LIME then appears in VS Code's Accounts menu.
- One editor at a time: authorizing a new one signs the previous editor out. Your CI token is never affected.
- Signing out revokes the session on the server, not just locally.
- Remote-SSH, Codespaces and air-gapped installs use a token instead: choose Paste a CI
token instead and paste a
lime_ci_…token from LIME Settings, LIME CI tokens. First use from a new machine sends you a security-alert email, which is expected.
- Connect a device:
- Local: pick a device and Connect. This needs the LIME Agent installed on your machine
(
lime-agenton PATH, or pointlime.agentPathat the executable). See the agent docs. Its output goes to the "LIME Agent" output channel. - Cloud: pick a provider (BrowserStack or LambdaTest), the device, an app id (
bs://…orlt://…), and your provider credentials. Those are sent per run and never stored on the LIME server.
- Local: pick a device and Connect. This needs the LIME Agent installed on your machine
(
- Type a goal, for example
Login with [email protected] / 10203040 and verify the home screen. Consecutive goals build up one recorded test. - Export test writes it into your workspace. The format picker pre-selects the framework detected there.
Exploring an app
LIME: Explore App crawls the connected app, maps the screens it finds, and suggests tests
worth writing. A crawl visits many screens, so it gets its own step budget
(lime.exploreMaxSteps, default 60) rather than sharing the per-goal one.
Asking questions
The composer takes more than goals. Greetings, "what can you do", "how many credits do I have
left" and similar are answered by LIME instead of starting a run. Anything that reads as an
instruction still runs on the device. Answers come from the server, are written in your
lime.chatLanguage, and are billed against AI credits like a run.
See taqwright.ai/docs/chat.
Queued goals
One goal runs at a time per device. You do not have to wait: send the next one while a run is in flight and it starts on its own when the current one finishes. A Stop, or a run that fails, hands the queued text back to the composer rather than launching it into a broken session.
What gets sent
Running a test necessarily sends data to the LIME service: screenshots of the device under test, the text and locators of the elements the agent interacts with, your goals, and the resulting recorded steps. Questions typed into the composer are answered server-side and billed like a run.
Your workspace is not uploaded unless you turn on lime.matchExistingStyle. With that setting
on, export sends a few of your existing test files and convention documents (CLAUDE.md,
AGENTS.md) so generated tests match your project's conventions, and chat sends a file listing so
LIME can answer questions about your project. It is off by default.
Run history stays on your machine in VS Code's extension storage. Credentials, cloud access keys,
AI keys and the Applitools key are held in VS Code secret storage, never in settings.json.
Settings
General
| Setting | Purpose |
|---|---|
lime.serverUrl |
LIME server base URL (default https://www.taqwright.ai) |
lime.project |
Project name runs are scoped to (must exist on the server) |
lime.maxSteps |
Max agent actions per goal before stopping (1 to 100, default 40) |
lime.exploreMaxSteps |
Max actions during an Explore App crawl (1 to 100, default 60) |
lime.chatLanguage |
Language the conversation is written in (24 available). Goals, recorded steps and exported code stay English |
lime.modelProvider |
AI vision provider for your own key: gemini or qwen. Empty uses the key provisioned for your account |
lime.matchExistingStyle |
Share workspace context with LIME so generated tests match your conventions. Off by default |
Export
| Setting | Purpose |
|---|---|
lime.exportFramework |
Framework to export as. Empty auto-detects from your project |
lime.exportAgent |
Coding agent used to generate and verify exported tests: claude-code or copilot. Empty uses the first installed |
lime.claudePath |
Path to the Claude Code CLI. Empty resolves claude automatically |
lime.copilotPath |
Path to the GitHub Copilot CLI. Empty resolves copilot automatically |
lime.alsoEmitTaqwright |
When exporting to another framework, also write the equivalent runnable taqwright spec. Off by default |
Local device agent
| Setting | Purpose |
|---|---|
lime.agentPath |
Path to the lime-agent executable (empty runs lime-agent from PATH) |
lime.agentRestartOnOpen |
Restart the local agent each time you open a Local device (on by default) |
lime.appiumPort |
Fixed port for the agent's bundled Appium (0 means auto, 4723, climbing on conflict) |
Cloud devices
| Setting | Purpose |
|---|---|
lime.cloud.provider |
Cloud device provider: browserstack or lambdatest |
lime.cloud.browserstackUsername |
BrowserStack username (access key stored securely via the Settings pane) |
lime.cloud.lambdatestUsername |
LambdaTest username (access key stored securely via the Settings pane) |
lime.cloud.lambdatestRegion |
LambdaTest data-centre region: US, EU or AP |
lime.cloud.capabilities |
Advanced: per-run BrowserStack, LambdaTest and Appium capability overrides, as JSON |
Commands
| Command | Purpose |
|---|---|
LIME: Sign In |
Sign in via the browser, or paste a CI token |
LIME: Sign Out |
Revoke this editor's session and forget the credential |
LIME: Disconnect Device |
End the device session |
LIME: Start a New Test (clear recording) |
Drop the recorded steps and start fresh |
LIME: Export Recorded Test |
Write the recorded test into the workspace |
LIME: Explore App (map screens & suggest tests) |
Crawl the app and suggest tests worth writing |
LIME: Open Device Screen in Editor |
Live device screen as a splittable editor tab |
LIME: Open Settings Pane |
Open the panel's Settings overlay |
LIME: Open Chat History |
Open the panel's History overlay |
LIME: Check Dependencies (lime-agent) |
Verify the lime-agent executable resolves |
LIME: View Documentation |
Open the docs |
LIME: Report a Bug |
Email a bug report, pre-filled with your version and platform |
LIME: Contact Support |
Email support |
The panel
- View title bar: the clock icon opens History, the gear opens Settings, and the overflow menu links to docs, bug reports and support.
- PANELS: "Test Cases" lists test files found in your workspace plus recorded runs. "Failure Analysis" lists failed runs with their first error.
- History: every agent run (goal, status, and transcript without screenshots) is saved locally. Searchable, sortable, favouritable, deletable. Nothing extra is sent to the server.
- Settings pane: General (server URL, project, chat language, AI model, visual testing), Keys, Cloud, Usage (your AI-credit gauge) and About.
- The maximize button opens the live device screen as an editor tab you can split or maximize. It shows "Session ended" on disconnect.
Notes
- One device session per user: connecting here takes over any session the web console holds, and vice versa. A CI runner sharing the same account shares that one session and one run slot, so give runners their own account.
- Generated tests never contain hardcoded coordinates, only locators.
- Agent runs need an AI vision key. Either bring your own under Settings, General, AI model (Google Gemini or Alibaba Qwen, one at a time, validated against the provider and kept in the editor's secret storage), or leave the provider as "Use my LIME account key" and have one provisioned for your LIME user. Qwen additionally has to be enabled for your account server-side.
- Visual testing: save an Applitools API key under Settings, General, Visual testing to enable
the Visual check button in a session. Name a checkpoint and it compares the current screen
against the Applitools baseline of that name. The first capture creates the baseline. The
checkpoint is recorded as a step, so it replays with the exported test (which reads
APPLITOOLS_API_KEYfrom the environment). A mismatch is reported, not a failure. Writing "visually verify <name>" in a goal does the same thing. - Applitools, BrowserStack, LambdaTest, Google Gemini and Alibaba Qwen are third-party services. You bring your own account and credentials for each, and their terms apply to your use of them.
Requirements
- VS Code 1.90 or later.
- A Taqwright account.
- For local devices, the LIME Agent installed on your machine. For cloud devices, a BrowserStack or LambdaTest account.
Support
- Documentation: taqwright.ai/docs/vscode
- Bug reports and support: [email protected], or use LIME: Report a Bug from the Command Palette, which pre-fills your version and platform.
License
Copyright (c) 2026 TAQWRIGHT PTE. LTD. All rights reserved. Licensed under the Taqwright LIME End User License Agreement, included as LICENSE in this package.