Quick Start
1. Prerequisites
- Java 21+ on your
PATH - Docker running (Docker Desktop on macOS/Windows, Docker Engine on Linux)
- A
karate.licfile. Request an evaluation — the license is emailed to you.
2. Download
The release ZIP is published to GitHub. Browse the latest release and download
karate-agent-<version>.zip:
Unzip — it extracts to an unversioned karate-agent/ folder so upgrades are a
drop-in jar replacement (see below):
karate-agent/
├── karate-agent.jar
├── karate-agent.json # config (port, models, maxSessions)
├── start.sh # macOS / Linux launcher
├── start.bat # Windows launcher
└── README.md
The version is in the ZIP filename (which you downloaded) and is also surfaced
by java -jar karate-agent.jar --version and by the dashboard banner.
3. Place the license
Drop your karate.lic next to the jar. The dashboard refuses to start without it.
4. (Optional) Set an LLM API key
Only needed for Autonomous mode. Live mode works without one.
export OPENROUTER_API_KEY=sk-or-... # for openrouter/* models
# or
export ANTHROPIC_API_KEY=sk-ant-... # for anthropic/* models
The first model in karate-agent.json is the default for new autonomous jobs.
5. Start
./start.sh # macOS / Linux
start.bat # Windows
Equivalent: java -jar karate-agent.jar from the install directory.
The first run pulls the worker Docker image (~30s). Subsequent starts are immediate. The dashboard validates your license, pulls the worker image, and pings the configured LLM before binding the port.
Open http://localhost:4444.
6. Start a Live Session
From the dashboard, click New Live Session to start a browser container. Or via curl:
curl -X POST http://localhost:4444/api/sessions \
-H "Content-Type: application/json" \
-d '{"mode":"live"}'
The response includes a sessionId. Use it to send commands:
SID={sessionId}
# Create the agent and navigate to a page (first call must define `agent`)
curl -X POST http://localhost:4444/sessions/$SID/proxy \
-d 'var agent = Agent.create(); agent.go("https://example.com")'
# Discover elements (`agent` persists across proxy calls in the same session)
curl -X POST http://localhost:4444/sessions/$SID/proxy \
-d 'agent.look()'
# Click a link
curl -X POST http://localhost:4444/sessions/$SID/proxy \
-d 'agent.act("{a}Learn more", "click")'
7. Watch Live
In the dashboard, click the session to see the live browser via noVNC.
8. Connect Your LLM Agent
Via MCP (Claude Code)
claude mcp add karate http://localhost:4444/mcp
Via REST (any agent)
The /sessions/{id}/prompt endpoint serves a self-contained API reference your LLM can read:
curl http://localhost:4444/sessions/{sessionId}/prompt
Upgrading
Drop-in jar replacement — start.sh / start.bat reference karate-agent.jar
literally, so the launchers don't need to change. Your karate.lic,
karate-agent.json, flows/, and sessions/ are preserved.
# Stop the running dashboard
lsof -ti:4444 | xargs kill 2>/dev/null
# Drop the new jar into your existing install
unzip -j karate-agent-<new-version>.zip karate-agent/karate-agent.jar \
-d /path/to/karate-agent/
# Restart, verify
cd /path/to/karate-agent && ./start.sh
java -jar karate-agent.jar --version
Always check release notes before upgrading — karate-agent.json schema changes
will be called out there.
Checking the running version
java -jar karate-agent.jar --version # CLI
curl -s localhost:4444/api/config # while the dashboard runs
The dashboard banner at startup also prints the version.
Next Steps
- Configuration —
karate-agent.jsonreference - Interactive Mode — Deep dive into interactive exploration
- Flows — Create reusable automation scripts
- Autonomous Mode — Submit jobs for unattended execution