Repository: promptfoo/promptfoo
Issue: Prompts not showing in UI **PROMPTS** section when running custom eval configs - only standard do
Root cause: Configuration Error

**Describe the bug**
Prompts are listed the in UI **PROMPTS** section when running custom eval configs. For example I got the `promptfooconfig.yaml` file that comes by default with some example prompts and when I run `npx promptfoo@latest eval`, they show up in the **PROMPTS** tab in the UI. 

When running a custom config evals like `npx promptfoo@latest eval -c test_config_elixir1.yaml`, the test run fine, but the prompt defined in `test_config_elixir1.yaml` do not show up in the **PROMPTS** tab.

Prompt in the default `promptfooconfig.yaml`
![image](https://github.com/user-attachments/assets/d357cccc-07d1-4cd0-97b5-5da11e0e23c3)

Prompt in the custom config yaml
![image](https://github.com/user-attachments/assets/77bad6a8-7061-4454-95fd-f0e8118e211f)
 

**To Reproduce**
Run promptfoo with `-c` flag and custom config file

**Expected behavior**
All prompts that ran through the eval should appear in the **PROMPTS** tab

**Screenshots**
If applicable, add screenshots to help explain your problem.

**System information:**

<details>
<summary>System Info</summary>

{
  "version": "0.102.2",
  "platform": {
    "os": "darwin",
    "release": "24.1.0",
    "arch": "arm64",
    "nodeVersion": "v20.10.0"
  },
  "env": {},
  "configInfo": {
    "defaultConfigPath": "/Documents/dev/TMP/promptfoo-test/promptfooconfig.yaml",
    "configExists": true,
    "configContent": {
      "config": {
        "tags": {},
        "description": "My eval",
        "prompts": [
          "Write a tweet about {{topic}}",
          "Write a concise, funny tweet about {{topic}}"
        ],
        "providers": [
          {
            "id": "openrouter:meta-llama/llama-3.1-405b-instruct:free",
            "config": {
              "temperature": 0.3
            }
          },
          {
            "id": "google:gemini-2.0-flash-exp",
            "config": {
              "temperature": 0,
              "maxOutputTokens": 1024
            }
          }
        ],
        "tests": [
          {
            "vars": {
              "topic": "bananas"
            }
          },
          {
            "vars": {
              "topic": "avocado toast"
            },
            "assert": [
              {
                "type": "icontains",
                "value": "avocado"
              },
              {
                "type": "javascript",
                "value": "1 / (output.length + 1)"
              }
            ]
          },
          {
            "vars": {
              "topic": "new york city"
            },
            "assert": [
              {
                "type": "llm-rubric",
                "value": "ensure that the output is funny"
              }
            ]
          }
        ],
        "scenarios": [],
        "env": {},
        "sharing": true,
        "defaultTest": {
          "vars": {},
          "assert": [],
          "options": {},
          "metadata": {}
        },
        "outputPath": [],
        "extensions": [],
        "metadata": {}
      },
      "testSuite": {
        "description": "My eval",
        "tags": {},
        "prompts": [
          {
            "raw": "Write a tweet about {{topic}}",
            "label": "Write a tweet about {{topic}}"
          },
          {
            "raw": "Write a concise, funny tweet about {{topic}}",
            "label": "Write a concise, funny tweet about {{topic}}"
          }
        ],
        "providers": [
          {
            "env": {},
            "modelName": "meta-llama/llama-3.1-405b-instruct:free",
            "config": {
              "temperature": 0.3,
              "basePath": "/Documents/dev/TMP/promptfoo-test",
              "apiBaseUrl": "https://openrouter.ai/api/v1",
              "apiKeyEnvar": "OPENROUTER_API_KEY"
            },
            "label": ""
          },
          {
            "env": {},
            "modelName": "gemini-2.0-flash-exp",
            "config": {
              "temperature": 0,
              "maxOutputTokens": 1024,
              "basePath": "/Documents/dev/TMP/promptfoo-test"
            },
            "label": ""
          }
        ],
        "providerPromptMap": {
          "openrouter:meta-llama/llama-3.1-405b-instruct:free": [
            "Write a tweet about {{topic}}",
            "Write a concise, funny tweet about {{topic}}"
          ],
          "google:gemini-2.0-flash-exp": [
            "Write a tweet about {{topic}}",
            "Write a concise, funny tweet about {{topic}}"
          ]
        },
        "tests": [
          {
            "vars": {
              "topic": "bananas"
            }
          },
          {
            "vars": {
              "topic": "avocado toast"
            },
            "assert": [
              {
                "type": "icontains",
                "value": "avocado"
              },
              {
                "type": "javascript",
                "value": "1 / (output.length + 1)"
              }
            ]
          },
          {
            "vars": {
              "topic": "new york city"
            },
            "assert": [
              {
                "type": "llm-rubric",
                "value": "ensure that the output is funny"
              }
            ]
          }
        ],
        "scenarios": [],
        "defaultTest": {
          "metadata": {},
          "options": {},
          "vars": {},
          "assert": []
        },
        "nunjucksFilters": {},
        "extensions": []
      },
      "basePath": "/Documents/dev/TMP/promptfoo-test"
    }
  }
}
</details>

- Promptfoo version:
"version": "0.102.2",

**Additional context**
From copy/paste I already see the custom config data is not present. I don't know if it's a bug or a feature then. Thanks


Yeah, we ran into the same issue. Restarting the promptfoo server (we have it deployed in K8s) seems to help. After the restart, the prompts from the evals do appear on the "prompts" page of the UI.