# Your first test from Claude Code

URL: https://docs.testvibe.com/testvibe-api/guides/first-test-from-claude-code

Once the MCP server is [connected](/testvibe-api/getting-started/connect-ai-tools) , the whole feature workflow becomes a conversation. This guide shows what to ask for and what happens underneath.

## The conversation

> **You:** We just added a "forgot password" flow at /reset. Add a TestVibe feature for it on Acme Shop, generate the tests, and run them.

A capable assistant will chain:

1. `list_projects` → resolve "Acme Shop" to its project id.
2. `create_feature` → write Gherkin scenarios for the reset flow (request a reset, invalid email, expired link…).
3. `generate_feature` → dispatch AI generation, then `wait_for_generation` (calling it again if a wait times out — generation takes minutes).
4. `run_feature` → `wait_for_run` → `get_run` → summarize per-test results back to you.

## Tips that make this work well

- **Set a default project** ( `testvibe use "Acme Shop"` ) so the model never guesses ids.
- **Review the Gherkin before generating.** Ask for the feature first, approve it, *then* say "generate" — generation costs credits; a wrong scenario wastes them. `get_feature` shows exactly what's stored.
- **Failures are debuggable in-band.** If generation fails, the assistant can pull [`get_generation_log`](/testvibe-api/reference/generation/get_generation_log) , fix the Gherkin with `update_feature` , and retry — without you leaving the chat.
- **Artifacts close the loop.** Ask for the trace links ( [`get_run_artifacts`](/testvibe-api/reference/runs/get_run_artifacts) ) when a test fails and open them in the Playwright trace viewer.
info
The same flow works in Claude Desktop and Codex — the tools are identical. Anything the assistant does shows up live in the TestVibe app, so your team sees the runs either way.
