# AX Check: launchdarkly.com
Checked 2026-10-14.

LaunchDarkly's quickstart and docs are agent-ready, with clear pricing.
18 of 23 checks passed: install steps, code samples, API/MCP docs and pricing are all readable without login. The homepage just lacks a machine-readable index.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed and reported pricing accurately from the public pricing page: free Developer tier, Foundation at $10 per service connection and $8.33 per 1K client-side MAU, custom Enterprise. One session flagged a minor inconsistency between the two stated unit prices on the page.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/eca8e16c-223b-475f-a97a-ea243e1dbb81) · [Read transcript](https://www.ax-check.com/launchdarkly.com/sessions/deepseek.json)
Gave pricing per plan (free Developer limits; Foundation at $10 per service connection and $8.33 per 1K MAU) and explained the meters, with numbers taken from the fetched pricing page (seq 29, seq 34, seq 59)
#### End-to-end onboarding
- **Onboarding needs a login**: The agent searched the environment for LaunchDarkly credentials (SDK key, API token) and found none. It wrote a working SDK example and README, but explicitly could not execute a live flag evaluation against the hosted service because no LAUNCHDARKLY_SDK_KEY was available. Running the script without a key only hit the agent's own guard clause and exited with an error, which does not count as an authenticated product operation.
  Event 10:

  ```text
  find / -maxdepth 3 -iname '*launchdarkly*' 2>/dev/null | head; find / -maxdepth 4 -name '.env*' 2>/dev/null | grep -v proc | head
  ```
  Event 42:

  ```text
  No LaunchDarkly credentials are present in this environment (no `LD_SDK_KEY` / API token), so I'll build a ready-to-run hosted-SDK example and clearly mark the one thing I can't verify without a key.
  ```
  Event 57:

  ```text
  Missing LAUNCHDARKLY_SDK_KEY. Create a server-side SDK key in
  LaunchDarkly > Project settings > Environments, then export it and re-run.
  exit=1
  ```
  Event 59:

  ```text
  I'm partially blocked: no credentials here.** There's no `LAUNCHDARKLY_SDK_KEY` or API access token in this environment, so I could write and validate the example but **not execute it against the hosted service.**
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No LaunchDarkly SDK key or API token available in sandbox**: The sandbox environment had no LaunchDarkly credentials (SDK key or Management API token) and no self-service path existed in this session to obtain one. This is a test-environment/missing-credentials limitation rather than a product defect — LaunchDarkly requires a normal account signup and key generation, which is expected security behavior, not a bug.
  Event 10:

  ```text
  find / -maxdepth 3 -iname '*launchdarkly*' 2>/dev/null | head; find / -maxdepth 4 -name '.env*' 2>/dev/null | grep -v proc | head
  ```
  Event 42:

  ```text
  No LaunchDarkly credentials are present in this environment (no `LD_SDK_KEY` / API token), so I'll build a ready-to-run hosted-SDK example and clearly mark the one thing I can't verify without a key.
  ```

#### Suggested Changes
None identified in this transcript.

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/6d663b22-59df-4d70-a4e1-2982e57daf6d) · [Read transcript](https://www.ax-check.com/launchdarkly.com/sessions/kimi.json)
Quoted live tiers with basis: free Developer limits, $10/service connection and $8.33/1K client MAU on Foundation, custom Enterprise (seq 57, seq 63, seq 65)
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never obtained real LaunchDarkly credentials. It explicitly stated signup requires an email it cannot provide, and instead ran the SDK entirely in offline TestData mode (a local mock with no network calls to LaunchDarkly's servers). No authenticated operation against the hosted product was demonstrated.
  Event 65:

  ```text
  connecting to the *hosted* product requires an SDK key from a (free) account signup, which needs an email address I can't provide. So the demo runs in the SDK's built-in offline `TestData` mode
  ```
  Event 49:

  ```text
  Flag "new-checkout-flow" for Sandy: ON
  Rendering the NEW checkout flow
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to get an SDK key**: The hosted product requires account signup (email) to obtain an SDK key, which the agent could not complete on its own. This is an expected human-login limitation, not a product defect, and the agent correctly fell back to offline mode rather than stalling.
  Event 65:

  ```text
  connecting to the *hosted* product requires an SDK key from a (free) account signup, which needs an email address I can't provide
  ```
- **SDK API mismatches caused three failed runs before success**: Agent error / outdated assumptions about the @launchdarkly/node-server-sdk v9 API caused repeated runtime errors (wrong method name, missing 'new' on TestData, empty SDK key rejected). All were self-diagnosed and fixed within the same turn using the package's own exports, so this was a recovered friction point rather than an unresolved blocker.
  Event 20:

  ```text
  LaunchDarkly error: client.updateFlagData is not a function
  ```
  Event 35:

  ```text
  LaunchDarkly error: Class constructor TestData cannot be invoked without 'new'
  ```
  Event 41:

  ```text
  LaunchDarkly error: You must configure the client with an SDK key
  ```

#### Suggested Changes
- **Update Node server SDK offline/TestData documentation or examples for v9**: Three consecutive runtime errors stemmed from outdated assumptions about the v9 API (client.updateFlagData, TestData constructor requiring 'new', and SDK key non-empty requirement for offline/test mode). Check the official Node server SDK quickstart or migration docs to confirm the offline TestData usage pattern is current and includes a working end-to-end snippet; verify by running the documented example as-is without hitting these three errors.
  Event 20:

  ```text
  LaunchDarkly error: client.updateFlagData is not a function
  ```
  Event 35:

  ```text
  LaunchDarkly error: Class constructor TestData cannot be invoked without 'new'
  ```
  Event 41:

  ```text
  LaunchDarkly error: You must configure the client with an SDK key
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/1d3a1416-218b-411b-99a7-373050205640) · [Read transcript](https://www.ax-check.com/launchdarkly.com/sessions/qwen.json)
Quoted the fetched pricing page: free-tier limits, $10 per service connection, $8.33 per 1K client-side MAU, and trial terms. It flagged the page's $10 vs $8.33 inconsistency. (seq 14, seq 202)
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real LaunchDarkly credentials (SDK key or personal access token) during the session. It built and ran the demo entirely offline using TestData and a local flags.json file, and explicitly stated no live API calls or live SDK evaluation occurred. The REST API management script only ran in --dry-run mode or failed fast when a real token was absent.
  Event 178:

  ```text
  LD_ACCESS_TOKEN is not set. Create one in LaunchDarkly (Account settings -> Authorization),
  or re-run with --dry-run to see the request that would be sent.
  EXIT:1
  ```
  Event 196:

  ```text
  GET https://app.launchdarkly.com/api/v2/flags/default?env=test
  ```
  Event 202:

  ```text
  Blocked on one thing only:** no LaunchDarkly credentials in this environment, so I could not exercise live streaming evaluation or send real API mutations.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No LaunchDarkly credentials available for live verification**: The sandbox had no LD_SDK_KEY or LD_ACCESS_TOKEN, so the agent could not evaluate flags against the hosted LaunchDarkly service or send real REST API mutations (create flag, rollout, on/off). This is a missing-credentials limitation of the test environment, not a product defect; the agent correctly detected the missing token and failed fast with instructions rather than guessing or faking success.
  Event 178:

  ```text
  LD_ACCESS_TOKEN is not set. Create one in LaunchDarkly (Account settings -> Authorization),
  or re-run with --dry-run to see the request that would be sent.
  EXIT:1
  ```
  Event 202:

  ```text
  Blocked on one thing only:** no LaunchDarkly credentials in this environment, so I could not exercise live streaming evaluation or send real API mutations.
  ```
- **Deprecated npm package installed on first attempt**: The agent's first SDK install pulled the legacy, deprecated launchdarkly-node-server-sdk package, which the package's own README says to stop using in favor of @launchdarkly/node-server-sdk. This is agent error (did not check npm for the renamed package first), costing a wasted install and uninstall/reinstall cycle.
  Event 22:

  ```text
  Use [@launchdarkly/node-server-sdk](https://www.npmjs.com/package/@launchdarkly/node-server-sdk) instead of this package.
  
  As mentioned in the [repository changelog]
  ```
- **Several trial-and-error API mismatches in TestData usage**: The agent repeatedly guessed the wrong TestData API shape (TestData.dataSource(), calling TestData() without new, passing string variation values to thenReturn() instead of indices, and the wrong update:KEY event signature), each producing a runtime error before being corrected by inspecting the SDK's bundled type declarations. This is agent error from not reading the SDK's own .d.ts/README closely enough before writing code, though it was fully self-corrected within the session.
  Event 94:

  ```text
  TypeError: TestData.dataSource is not a function
  ```
  Event 118:

  ```text
  TypeError: Class constructor TestData cannot be invoked without 'new'
  ```
  Event 150:

  ```text
  {"value":"none","variationIndex":null,"reason":{"kind":"ERROR","errorKind":"MALFORMED_FLAG"}}
  ```

#### Suggested Changes
- **Clarify TestData docs that thenReturn() needs a variation index, not the raw value**: TestDataRuleBuilder.thenReturn() silently accepts a string like 'free-shipping' but errors only at evaluation time with MALFORMED_FLAG, not at build time. Add an index-based example next to the boolean example in the TestDataFlagBuilder/TestDataRuleBuilder TypeDoc comments. Verify by confirming a string-value thenReturn() call now throws or warns at configuration time.
  Event 150:

  ```text
  US {"value":"none","variationIndex":null,"reason":{"kind":"ERROR","errorKind":"MALFORMED_FLAG"}}
  ```
- **Add an npm-level deprecation warning to launchdarkly-node-server-sdk**: npm install launchdarkly-node-server-sdk succeeds silently; the deprecation notice only surfaces once the README is opened post-install. Run npm deprecate on the package so npm install prints a warning pointing to @launchdarkly/node-server-sdk. Verify by reinstalling and confirming a deprecation warning appears in the npm output.
  Event 22:

  ```text
  Use [@launchdarkly/node-server-sdk](https://www.npmjs.com/package/@launchdarkly/node-server-sdk) instead of this package.
  ```
- **Reconcile conflicting client-side MAU rates on the pricing page**: The pricing page comparison table lists client-side MAU at $10/mo per 1K while the Foundation plan section lists $8.33 per 1K for the same tier. Update launchdarkly.com/pricing so both sections quote the same figure. Verify by re-fetching the page and confirming consistency.
  Event 14:

  ```text
  $8.33 per 1k client-side MAU / mo Each unique client-side user or device counts as one monthly active user.
  ```
  Event 14:

  ```text
  Client-side MAU Limited (free tier) $10 / mo per 1K MAU Custom
  ```

### Task given to each agent
Help me build a simple example using LaunchDarkly. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 65/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — Homepage answers Markdown requests

  ```text
  Homepage returned text/html even when text/markdown was requested; no Markdown representation offered.
  ```

- **Failed** — llms.txt provides an actionable documentation index

  ```text
  https://launchdarkly.com/llms.txt returns HTTP 404, so no documentation index exists at the standard path.
  ```

- **Skipped** — llms.txt provides navigation guidance

  ```text
  llms.txt is missing (404), so its navigation guidance cannot be evaluated.
  ```

- **Skipped** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt is missing (404), so its mention of API, MCP, and skills cannot be evaluated.
  ```

- **Pass** — A compact guide representation exists

  ```text
  Standalone Markdown quickstarts fetched directly, e.g. /docs/home/getting-started.md and agentcontrol/quickstart.md.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  AgentControl quickstart.md returns full step-by-step guide as text/markdown.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  AgentControl quickstart.md is 4701 tokens, well under the 8000-token budget.
  ```

- **Skipped** — Product-docs links survive format changes

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  AgentControl quickstart gives concrete steps: install SDKs, init client, create config, run agent.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched quickstart, API overview, MCP, and tutorial pages all returned HTTP 200.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Docs link to a full quickstart: sign up, install SDK, create flag, retrieve value, target audience.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Install commands extractable: npm i launchdarkly-js-client-sdk, pip install launchdarkly-server-sdk, Gradle, etc.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Full code samples for JS, Node, React, Python, Java, .NET shown inline without interaction.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Prerequisites and auth explicit: SDK key, client-side ID, mobile key, where to obtain each.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page renders all three tiers and a full feature comparison table without interaction.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Developer $0/mo, Foundation $10 per service connection and $8.33 per 1k MAU stated publicly.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Pricing page defines units: service connection, client-side MAU, AI run, retention days.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Gave pricing per plan (free Developer limits; Foundation at $10 per service connection and $8.33 per 1K MAU) and explained the meters, with numbers taken from the fetched pricing page (seq 29, seq 34, seq 59) Kimi K3: Quoted live tiers with basis: free Developer limits, $10/service connection and $8.33/1K client MAU on Foundation, custom Enterprise (seq 57, seq 63, seq 65) Qwen 3.8 Max: Quoted the fetched pricing page: free-tier limits, $10 per service connection, $8.33 per 1K client-side MAU, and trial terms. It flagged the page's $10 vs $8.33 inconsistency. (seq 14, seq 202) This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  REST API overview links a complete OpenAPI spec and per-endpoint OpenAPI docs are fetched.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  MCP server documented: hosted HTTP endpoint, OAuth auth, install page, and available tools.
  ```

- **Pass** — A CLI install path is documented

  ```text
  CLI install paths documented: npx skills add, uv tool install, pip install commands.
  ```

- **Pass** — SDK packages resolve on their registries

  ```text
  npm and PyPI registry lookups for LaunchDarkly SDK packages returned HTTP 200.
  ```

- **Pass** — Agent skills are published

  ```text
  Agent skills published on GitHub, installable via npx skills add launchdarkly/agent-skills.
  ```



[Full report data](https://www.ax-check.com/launchdarkly.com/report.json)
