Skip to main content

Quick Start

1. Prerequisites​

  • Java 21+ on your PATH
  • Docker running (Docker Desktop on macOS/Windows, Docker Engine on Linux)
  • A karate.lic file. 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:

https://github.com/karatelabs/karate-addons/releases

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​