~/.qaclan · localhost:7823
The agent is the half that actually runs your tests.
One binary on your machine, free with no limits. It records, imports, organises and executes — and it is the part you always have, whether or not anyone else is involved.
Linux amd64 · macOS arm64 · Windows amd64 and arm64 · needs Node.js 18+ and Python 3.9+ to install
what it does
Five jobs, all of them local.
Nothing here needs a network connection except the application you are testing. Sync to a shared workspace is optional and always best-effort.
Records browser journeys
Playwright codegen against your start URL, saved as a real script under a feature.
How web testing worksCaptures and runs API requests
Record traffic from a session, import from HAR, OpenAPI, Postman, Bruno or curl, then assert on the responses.
How API testing worksOrganises the work
Projects hold features, scripts, collections, environments and suites. One project per application, however many suites you need.
Executes suites and keeps the evidence
Ordered runs in one browser context, with screenshots, console output, failed requests and a classified error on every failure.
Serves a local dashboard
The same data, in a browser, on your machine.
qaclan serve --port 7823
the runtime
It brings its own Playwright, so it cannot break yours.
A global npm i -g playwright is how one project's browser version quietly breaks another's tests. QAClan installs a pinned Playwright, a Python virtual environment and Chromium into its own directory and resolves those first.
Re-running setup is safe: a checksum sentinel skips the dependency install when nothing changed. If the runtime ever gets into a bad state, delete just that directory and rebuild it — your projects, scripts and run history are untouched.
curl -fsSL https://raw.githubusercontent.com/qaclan/agent/master/install.sh | sh| command | what it does |
|---|---|
| qaclan setup | Full bootstrap: move the binary, add it to PATH, install the runtime and Chromium. |
| --runtime-only | Runtime dependencies only. What the install scripts use. |
| --path-only | Binary move and PATH only, no runtime work. |
| --no-chromium | Skip the browser download where browsers are already staged. |
| --force | Re-run every step even if it looks done. |
| qaclan reset-runtime | Delete the runtime only, keeping the database, scripts and config. |
~/.qaclan
Your application, your credentials, your machine.
Tests run against the environment in front of you, not on someone else's infrastructure. Secrets belong in environment variables, where --secret masks them in output — not pasted into a recorded script.
Stays on your machine
- The SQLite database of projects, suites and runs
- Your recorded scripts, as files you can read
- Failure screenshots and run artifacts
- The pinned Playwright runtime and Chromium
- Your auth key, in ~/.qaclan/config.json
Syncs only once you log in
- Projects, features, scripts and suites
- Run results and their status
- Best-effort — a failed sync never blocks a command
- API collections, folders and requests
- The generated API reference
How access works
- Google OAuth for the web app
- Auth keys prefixed qc_, stored as SHA-256 hashes
- Session tokens expire after 7 days
- Browser requests restricted to the app's own origin
- Team invites expire after 48 hours
We do not claim any certification we have not been audited for. If a compliance question matters to your evaluation, ask us directly and you will get a straight answer about what exists today.
agent and server
Where the server comes in.
The agent is the execution layer and is always required. The server adds shared history and reports once more than one person needs them.
| Agentfree | Server$30/user/mo | |
|---|---|---|
| Where it runs | Your machine, at localhost:7823 | qaclan.com, managed by us |
| Who it is for | Any tester or developer | Teams that need shared visibility |
| Setting it up | One install command | Sign in with Google, invite teammates |
| Where your data sits | ~/.qaclan on your disk; works offline | Synced runs, scripts, collections and API docs |
| What you get | Record, import, organise, run, local reports | History across machines, flakiness, trends, AI analysis, seats |
| How they fit together | The execution layer — always required | The visibility layer — optional, added when a team needs it |
Record your next regression pass instead of repeating it.
Install the agent, record one journey, and look at the API calls it fired. That is the whole first session — no card, no clock.
curl -fsSL https://raw.githubusercontent.com/qaclan/agent/master/install.sh | sh