> For the complete documentation index, see [llms.txt](https://docs.testvibe.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.testvibe.com/troubleshooting/missing-secrets.md).

# Missing Secrets

Variables and secrets live in **Settings → Variables & Secrets** and are referenced from Gherkin as `{{var:NAME}}` and `{{secret:NAME}}` (type `@` in the editor to autocomplete). Login steps, staging credentials, API tokens, and private test data usually depend on them. Secrets are encrypted and write-only after saving — values never appear in the UI or in run logs.

## Common Missing Values

| Value                           | Common use                                                 |
| ------------------------------- | ---------------------------------------------------------- |
| Test username and password      | Signing in to the app under test.                          |
| API token                       | Calling a backend or setting up test data.                 |
| Environment URL or tenant value | Targeting the right staging, QA, or customer environment.  |
| Plugin-required values          | Some plugins declare values they need before they can run. |

The failure message usually names the token that could not be resolved.

## Symptoms

| Symptom                                                | What it usually means                                                              |
| ------------------------------------------------------ | ---------------------------------------------------------------------------------- |
| Run or generation reports a secret token was not found | The name inside `{{secret:NAME}}` does not match any entry in Variables & Secrets. |
| Run fails during login                                 | Test credentials are missing, wrong, or saved under a different name.              |
| A value resolves as empty                              | The entry exists with a different name, or was saved in a different project.       |
| A plugin refuses to run                                | The plugin requires a value that has not been added yet.                           |

## Add Or Replace A Value

1. Open **Settings → Variables & Secrets** in your project.
2. Add an entry whose name exactly matches the token in your Gherkin (`{{secret:NAME}}` or `{{var:NAME}}`).
3. Paste the value and save. Secret values are hidden after saving.
4. Re-run generation or the test run that failed.

For the full setup flow, see [Add API keys and secrets](/workspace/add-api-keys-and-secrets.md).

## Important Notes

* Token names are matched exactly — check spelling and case against the entry.
* If a secret value changed, replace it and run again; you cannot read the old value back.
* Use `{{var:NAME}}` for non-sensitive values you want visible, and `{{secret:NAME}}` for credentials.

## Related Help

* [Add API keys and secrets](/workspace/add-api-keys-and-secrets.md)
* [Generation failed](/troubleshooting/generation-failed.md)
* [Run failed](/troubleshooting/run-failed.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.testvibe.com/troubleshooting/missing-secrets.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
