Teknium
6f3e630b47
fix(auth): honor Desktop-saved model.key_env for registry providers
...
The Desktop settings UI persists a registry provider's API key as a
credential pointer -- model.key_env in config.yaml pointing at an env var
in $HERMES_HOME/.env (e.g. HERMES_CUSTOM_LMSTUDIO_API_KEY) -- while
keeping model.provider on the registry id. _resolve_api_key_provider_secret
resolved registry providers exclusively from
PROVIDER_REGISTRY[...].api_key_env_vars, so the UI-saved key was silently
ignored; for lmstudio the runtime then substituted the no-auth placeholder
(dummy-lm-api-key) and auth-enabled LM Studio servers rejected every
request with an opaque, retryable-flagged 401.
Fix: consult model.key_env (only when config.yaml's main model targets the
provider being resolved, so the pointer never leaks across providers)
before the registry env vars, running the value through the same
_usable_declared_secret prefix validation. Precedence for the canonical
env vars and the credential pool is unchanged; a valid canonical key still
wins when no pointer is set.
Complements #75373 , which covers providers.<id>.key_env at the provider
level; the Desktop save path writes the pointer at the model level, which
that PR does not consult.
Fixes #106336
2026-09-09 12:33:15 -07:00
..
2026-09-07 06:12:41 -07:00
2026-09-02 16:17:31 -07:00
2026-09-03 03:48:31 +05:30
2026-09-03 13:48:49 -07:00
2026-09-02 05:32:20 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:00:59 -07:00
2026-09-09 23:40:59 +05:30
2026-09-03 13:16:47 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:00:59 -07:00
2026-09-02 16:17:31 -07:00
2026-09-09 02:34:59 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 17:00:26 -07:00
2026-09-03 19:33:28 -07:00
2026-08-31 11:19:05 -07:00
2026-09-03 17:00:26 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 19:33:28 -07:00
2026-09-07 08:06:11 -07:00
2026-09-03 19:33:28 -07:00
2026-09-09 12:33:15 -07:00
2026-09-03 19:33:28 -07:00
2026-09-07 08:06:48 -07:00
2026-09-03 15:07:39 -07:00
2026-08-29 18:34:35 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 03:33:14 -07:00
2026-09-07 08:21:24 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:51:05 -07:00
2026-09-03 13:51:05 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 14:00:59 -07:00
2026-09-01 16:01:53 -04:00
2026-08-29 18:13:33 -07:00
2026-09-01 16:01:53 -04:00
2026-08-29 07:25:17 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 21:16:48 +05:30
2026-09-03 14:00:59 -07:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-03 15:54:46 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 15:07:39 -07:00
2026-09-02 16:17:31 -07:00
2026-09-01 00:26:55 +05:30
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 06:12:41 -07:00
2026-09-09 10:14:58 -07:00
2026-09-07 21:43:54 +05:30
2026-09-03 17:00:26 -07:00
2026-09-02 15:35:08 -07:00
2026-09-03 19:33:28 -07:00
2026-09-09 02:36:00 -07:00
2026-08-31 12:18:47 -07:00
2026-09-02 06:19:03 -07:00
2026-09-01 07:00:22 -07:00
2026-09-02 16:48:36 -07:00
2026-08-27 11:49:58 +05:30
2026-09-02 00:07:15 -07:00
2026-09-09 02:36:00 -07:00
2026-08-27 13:27:24 +05:30
2026-09-02 05:34:28 -07:00
2026-09-01 16:01:53 -04:00
2026-09-03 13:33:10 -07:00
2026-08-31 03:37:43 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-01 08:31:37 -07:00
2026-09-03 14:21:52 -07:00
2026-09-09 04:32:13 -07:00
2026-08-31 10:00:29 -07:00
2026-09-03 14:21:52 -07:00
2026-08-31 06:02:32 -07:00
2026-09-02 00:56:52 -07:00
2026-09-09 09:19:54 -07:00
2026-08-29 19:14:15 -07:00
2026-09-03 15:50:55 -07:00
2026-09-05 16:45:59 +05:30
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 15:56:38 -07:00
2026-09-01 11:47:38 +10:00
2026-09-03 14:21:52 -07:00
2026-08-31 15:57:21 +10:00
2026-09-01 11:47:38 +10:00
2026-09-03 14:21:52 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:56:38 -07:00
2026-09-09 10:54:34 -07:00
2026-08-28 05:27:15 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 17:28:02 -07:00
2026-09-01 16:01:53 -04:00
2026-09-03 14:21:52 -07:00
2026-09-07 05:55:26 -07:00
2026-09-09 10:28:52 -07:00
2026-09-03 17:00:26 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 14:18:25 -07:00
2026-09-05 19:01:22 +05:30
2026-09-01 10:56:49 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:21:52 -07:00
2026-08-31 03:37:43 -07:00
2026-09-03 14:21:52 -07:00
2026-09-02 09:57:39 -07:00
2026-09-06 05:41:46 -07:00
2026-09-02 06:06:47 -07:00
2026-08-26 16:14:32 -07:00
2026-09-06 09:09:41 -07:00
2026-09-06 09:09:41 -07:00
2026-09-03 11:35:13 +05:30
2026-09-08 22:35:39 +05:30
2026-09-01 11:43:36 -07:00
2026-09-08 22:35:39 +05:30
2026-09-02 06:36:16 -07:00
2026-09-03 13:05:57 -07:00
2026-09-09 10:42:32 -07:00
2026-09-01 10:06:06 -07:00
2026-09-08 02:28:21 +05:30
2026-09-02 13:31:44 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 13:05:57 -07:00
2026-08-31 12:21:46 -07:00
2026-08-26 16:45:22 -07:00
2026-09-03 15:07:39 -07:00
2026-09-07 00:51:41 -07:00
2026-09-05 06:27:45 -07:00
2026-09-05 00:30:19 -07:00
2026-09-06 23:08:45 -07:00
2026-09-03 15:07:39 -07:00
2026-09-01 16:01:53 -04:00
2026-09-07 04:46:37 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:22:51 -07:00
2026-08-30 19:46:14 -07:00
2026-09-05 17:20:30 -04:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:16:47 -07:00
2026-08-27 17:45:43 -05:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 12:18:58 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 14:16:57 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 07:09:59 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 07:09:59 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 04:46:54 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 09:21:29 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-09 09:45:13 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 06:04:06 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-07 07:09:59 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-01 22:09:24 -05:00
2026-09-07 04:55:17 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:48:49 -07:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-07 08:23:08 -07:00
2026-09-02 15:03:42 -07:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-02 15:03:42 -07:00
2026-09-01 16:01:53 -04:00
2026-09-02 05:32:01 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-02 15:03:42 -07:00
2026-09-03 13:22:48 -07:00
2026-09-03 13:10:52 -07:00
2026-09-05 18:23:03 -04:00
2026-09-01 16:01:53 -04:00
2026-08-26 09:54:31 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 15:50:55 -07:00
2026-08-26 17:42:58 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 13:29:55 -07:00
2026-08-26 15:48:39 -07:00
2026-09-02 15:43:44 -07:00
2026-08-26 15:48:39 -07:00
2026-09-03 14:00:59 -07:00
2026-09-09 02:36:00 -07:00
2026-09-02 15:03:42 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 13:33:10 -07:00
2026-09-02 21:22:53 -07:00
2026-09-03 15:07:39 -07:00
2026-09-01 12:07:35 -07:00
2026-09-03 19:27:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 13:48:49 -07:00
2026-09-02 16:17:31 -07:00
2026-09-03 13:48:49 -07:00
2026-09-09 03:33:06 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-02 05:33:33 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 21:16:28 +05:30
2026-08-29 20:39:44 +05:30
2026-09-09 02:36:00 -07:00
2026-09-07 08:21:24 -07:00
2026-09-03 14:21:52 -07:00
2026-09-06 05:45:44 -07:00
2026-09-02 10:22:30 -07:00
2026-09-03 19:33:28 -07:00
2026-09-09 21:12:22 +05:30
2026-09-03 13:48:49 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-09 12:41:07 +05:30
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-07 21:43:54 +05:30
2026-09-03 00:57:55 -07:00
2026-09-03 13:48:49 -07:00
2026-09-02 15:03:42 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:48:49 -07:00
2026-09-07 06:13:16 -07:00
2026-09-03 17:00:26 -07:00
2026-08-31 01:04:11 -07:00
2026-09-07 06:10:49 -07:00
2026-09-07 21:22:49 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 15:07:39 -07:00
2026-09-02 15:03:42 -07:00
2026-09-02 06:59:11 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 13:29:55 -07:00
2026-09-03 14:00:59 -07:00
2026-09-09 04:38:01 -07:00
2026-08-31 08:41:15 -07:00
2026-09-03 14:00:59 -07:00
2026-09-09 04:38:01 -07:00
2026-09-09 04:38:01 -07:00
2026-09-03 14:00:59 -07:00
2026-09-09 04:38:01 -07:00
2026-09-09 04:38:01 -07:00
2026-08-31 00:56:41 -07:00
2026-09-03 13:05:57 -07:00
2026-09-03 14:21:52 -07:00
2026-09-07 13:11:36 +05:30
2026-09-02 16:14:49 -07:00
2026-09-07 22:47:33 +05:30
2026-09-03 13:48:49 -07:00
2026-09-03 15:07:39 -07:00
2026-09-06 05:34:01 -07:00
2026-09-02 15:03:42 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 21:11:56 +05:30
2026-09-09 21:11:56 +05:30
2026-09-09 04:27:24 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 13:48:49 -07:00
2026-09-09 11:51:00 -07:00
2026-09-03 01:56:32 +05:30
2026-09-01 10:12:21 -07:00
2026-09-03 15:07:39 -07:00
2026-09-04 20:24:24 -04:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 19:33:28 -07:00
2026-09-07 01:37:43 -07:00
2026-09-03 14:00:59 -07:00
2026-09-01 07:00:38 -07:00
2026-09-06 20:47:52 +05:30
2026-09-01 09:27:47 -07:00
2026-09-09 09:20:12 -07:00
2026-08-29 20:29:04 +05:30
2026-09-03 15:07:39 -07:00
2026-09-01 16:01:53 -04:00
2026-09-01 16:01:53 -04:00
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 15:54:46 -07:00
2026-09-03 14:00:59 -07:00
2026-09-03 14:00:59 -07:00
2026-09-02 15:03:42 -07:00
2026-08-28 05:15:06 -07:00
2026-09-03 19:33:28 -07:00
2026-09-04 20:24:51 -04:00
2026-09-04 20:24:51 -04:00
2026-09-03 14:21:52 -07:00
2026-09-03 19:33:28 -07:00
2026-09-07 04:56:38 -07:00
2026-09-03 15:07:39 -07:00
2026-08-31 12:08:30 -07:00
2026-09-03 16:35:01 -07:00
2026-08-31 14:40:09 -07:00
2026-08-27 02:17:56 -07:00
2026-09-09 18:28:57 +05:30
2026-09-03 13:46:50 -07:00
2026-09-09 18:28:57 +05:30
2026-09-03 02:06:29 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 04:32:13 -07:00
2026-09-07 06:10:54 -07:00
2026-09-07 06:10:54 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:18:25 -07:00
2026-09-03 13:33:10 -07:00
2026-09-03 13:33:10 -07:00
2026-09-09 03:32:58 -07:00
2026-09-03 13:33:10 -07:00
2026-08-27 10:42:31 +10:00
2026-09-03 13:33:10 -07:00
2026-09-03 13:33:10 -07:00
2026-08-27 13:30:25 +10:00
2026-08-27 09:47:47 +10:00
2026-08-26 15:39:47 +10:00
2026-08-27 13:30:25 +10:00
2026-08-28 15:22:16 +10:00
2026-08-28 15:22:16 +10:00
2026-09-09 11:27:36 +10:00
2026-08-27 09:09:47 +10:00
2026-09-07 22:25:12 -07:00
2026-09-07 22:25:12 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:10:52 -07:00
2026-09-07 05:59:43 -07:00
2026-09-03 13:22:48 -07:00
2026-09-07 06:08:37 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 13:46:50 -07:00
2026-09-01 10:12:21 -07:00
2026-08-26 07:03:04 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 10:33:00 -07:00
2026-09-03 15:07:39 -07:00
2026-09-01 12:07:35 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 13:48:49 -07:00
2026-09-03 13:10:52 -07:00
2026-09-09 09:19:54 -07:00
2026-09-03 13:17:25 -07:00
2026-09-02 13:29:44 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 14:21:52 -07:00
2026-09-08 22:35:39 +05:30
2026-08-31 10:41:54 -07:00
2026-09-03 13:33:10 -07:00
2026-08-29 20:51:17 +05:30
2026-09-05 17:01:23 +05:30
2026-09-03 15:07:39 -07:00
2026-09-02 06:17:10 -07:00
2026-09-05 12:21:28 +05:30
2026-08-31 10:08:31 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 10:26:06 -07:00
2026-09-03 15:07:39 -07:00
2026-09-06 23:34:20 +05:30
2026-09-02 13:30:54 -07:00
2026-09-02 01:50:21 +05:30
2026-09-03 19:33:28 -07:00
2026-09-07 08:21:24 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 19:33:28 -07:00
2026-09-01 08:27:58 -07:00
2026-08-26 17:42:50 -07:00
2026-08-26 11:41:04 -07:00
2026-09-01 08:34:51 -07:00
2026-09-01 08:27:58 -07:00
2026-09-03 19:33:28 -07:00
2026-09-02 16:11:02 -07:00
2026-09-05 00:24:40 -07:00
2026-09-05 00:24:40 -07:00
2026-09-07 06:10:49 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-01 08:27:58 -07:00
2026-09-06 14:53:33 +05:30
2026-09-07 05:56:50 -07:00
2026-09-03 19:33:28 -07:00
2026-09-08 03:06:30 -07:00
2026-09-03 19:33:28 -07:00
2026-09-07 05:56:50 -07:00
2026-09-02 16:11:02 -07:00
2026-09-07 08:20:46 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 15:15:53 -07:00
2026-09-06 20:47:52 +05:30
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 15:07:39 -07:00
2026-09-05 00:24:40 -07:00
2026-09-03 15:07:39 -07:00
2026-09-02 01:52:11 +05:30
2026-09-07 08:20:09 -07:00
2026-08-28 13:33:56 -04:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-02 00:07:17 -07:00
2026-09-07 06:12:41 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 13:48:49 -07:00
2026-09-09 09:19:54 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 15:07:39 -07:00
2026-09-02 16:05:46 -07:00
2026-09-03 13:20:22 -07:00
2026-09-03 14:21:52 -07:00
2026-09-09 04:38:01 -07:00
2026-09-03 01:56:47 +05:30
2026-09-03 01:56:47 +05:30
2026-09-09 21:16:40 +05:30
2026-09-09 03:33:06 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-09 10:58:16 -07:00
2026-09-09 12:17:13 +05:30
2026-09-03 14:21:52 -07:00
2026-09-07 07:11:36 -07:00
2026-09-03 14:21:52 -07:00
2026-09-05 20:44:51 +05:30
2026-09-07 05:56:33 -07:00
2026-09-09 04:32:13 -07:00
2026-09-04 20:24:24 -04:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 13:20:22 -07:00
2026-09-07 05:56:33 -07:00
2026-09-03 15:07:39 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 15:07:39 -07:00
2026-09-04 20:24:24 -04:00
2026-09-03 19:33:28 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 19:33:28 -07:00
2026-09-02 21:27:17 -07:00