# NousResearch/hermes-agent · Telegram extra base_url config not propagated

## Open now

- Nothing open on GitHub.

A bug where telegram.extra.base_url is silently ignored due to missing config propagation, along with associated fixes to pass nested extra config through to the Telegram adapter.

## TL;DR

- 4 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #28496. Verify it addresses your case.
- **Recommended:** read PR #28496 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #26359: \[Bug\]: telegram.extra.base_url silently ignored — config propagation missing in gateway/config.py

## Prior & competing PRs

- **#28496: fix(telegram): propagate nested extra config to adapter**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `gateway/config.py`, `tests/gateway/test_config.py`
  - fix hunks:
  - `gateway/config.py`

    ```diff
    @@ -1062,6 +1062,12 @@ def load_gateway_config() -> GatewayConfig:
                                 extra = {}
                                 plat_data["extra"] = extra
                             extra[_telegram_extra_key] = telegram_cfg[_telegram_extra_key]
    +                if _telegram_extra:
    +                    _plat_data, _plat_extra = _ensure_platform_extra_dict(
    +                        platforms_data, Platform.TELEGRAM.value
    +                    )
    +                    for _telegram_extra_key, _telegram_extra_value in _telegram_extra.items():
    +                        _plat_extra.setdefault(_telegram_extra_key, _telegram_extra_value)
     
                 whatsapp_cfg = yaml_cfg.get("whatsapp", {})
                 if isinstance(whatsapp_cfg, dict):
    ```
  - `tests/gateway/test_config.py`

    ```diff
    @@ -551,6 +551,26 @@ def test_bridges_telegram_disable_link_previews_from_config_yaml(self, tmp_path,
     
             assert config.platforms[Platform.TELEGRAM].extra["disable_link_previews"] is True
     
    +    def test_bridges_telegram_extra_base_url_from_config_yaml(self, tmp_path, monkeypatch):
    +        hermes_home = tmp_path / ".hermes"
    +        hermes_home.mkdir()
    +        config_path = hermes_home / "config.yaml"
    +        config_path.write_text(
    +            "telegram:\n"
    +            "  extra:\n"
    +            "    base_url: https://custom-proxy.example.com/bot\n",
    +            encoding="utf-8",
    +        )
    +
    +        monkeypatch.setenv("HERMES_HOME", str(hermes_home))
    +
    +        config = load_gateway_config()
    +
    +        assert (
    +            config.platforms[Platform.TELEGRAM].extra["base_url"]
    +            == "https://custom-proxy.example.com/bot"
    +        )
    +
         def test_bridges_notice_delivery_from_config_yaml(self, tmp_path, monkeypatch):
             hermes_home = tmp_path / ".hermes"
             hermes_home.mkdir()
    ```
- **#26361: fix(telegram): propagate nested extra config to adapter**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#28496`
- **#64487: fix: propagate telegram.extra.base_url to platforms.telegram.extra**. closed without merge
  - maintainer direction: category `partial_fix`; implication `needs_llm`; refs `434d508d0a30d4b14decb80b0a7d4714c1da2993`, `4fe7db9e1c75`, `#26359`, `#26361`, `#28496`, `#64487`, `#374151`

## Fix status

- Merged to main in PR #28496 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-05-19`.
- Subsystem: `gateway`
