Gateway fails with legacy config keys (telegram -> channels.telegram) #16

Closed
opened 2026-02-15 17:04:30 -05:00 by yindo · 2 comments
Owner

Originally created by @imrane on GitHub (Jan 30, 2026).

Problem

On NixOS, the OpenClaw gateway service fails to start with:

Invalid config at ~/.openclaw/openclaw.json:

  • telegram: telegram config moved to channels.telegram (auto-migrated on load).
    Run: openclaw doctor --fix

Context

  • OpenClaw version: 2.0.0-beta5 (from nix-openclaw)
  • HM module generates config with providers.telegram which ends up as legacy telegram in the config JSON.
  • The binary now expects channels.telegram and refuses to start until openclaw doctor --fix is run manually.

Expected

The nix-openclaw module should emit the new schema (channels.telegram) or run the doctor migration automatically so the gateway starts
without manual intervention.

Workaround

  openclaw doctor --fix
  systemctl --user restart openclaw-gateway

…but this is overwritten on the next deploy.

Request

Please update nix-openclaw to generate channels.telegram (and other moved keys if applicable), or add an automatic migration step in
activation.

Originally created by @imrane on GitHub (Jan 30, 2026). ### Problem On NixOS, the OpenClaw gateway service fails to start with: Invalid config at ~/.openclaw/openclaw.json: - telegram: telegram config moved to channels.telegram (auto-migrated on load). Run: openclaw doctor --fix ### Context - OpenClaw version: 2.0.0-beta5 (from nix-openclaw) - HM module generates config with `providers.telegram` which ends up as legacy `telegram` in the config JSON. - The binary now expects `channels.telegram` and refuses to start until `openclaw doctor --fix` is run manually. ### Expected The nix-openclaw module should emit the new schema (`channels.telegram`) or run the doctor migration automatically so the gateway starts without manual intervention. ### Workaround ``` openclaw doctor --fix systemctl --user restart openclaw-gateway ``` …but this is overwritten on the next deploy. ### Request Please update nix-openclaw to generate `channels.telegram` (and other moved keys if applicable), or add an automatic migration step in activation.
yindo closed this issue 2026-02-15 17:04:30 -05:00
Author
Owner

@imrane commented on GitHub (Jan 30, 2026):

Looks like some changes were made upstream....but this causes other problems...

Is this true?

Findings from the updated nix-openclaw:

  - Telegram config changed: the new schema expects channels.telegram.accounts.<name>.botToken (string) instead of telegram.tokenFile or
    providers.telegram.
  - providers.* options are gone in the module. That’s why nix flake check now fails with:
    programs.openclaw.instances.default.providers does not exist.
  - Security concern: botToken is now a plain string in the config JSON, which Home‑Manager writes into the Nix store. That would leak secrets
    into the store (bad).

  So upstream did not fix the telegram issue for us — they changed the module in a way that breaks our config and makes secret handling worse.

  Recommendation:

  - Do not update the machine yet.
  - Either roll back the nix-openclaw lock update, or patch the module locally to support tokenFile paths (safer) until upstream fixes it.
@imrane commented on GitHub (Jan 30, 2026): Looks like some changes were made upstream....but this causes other problems... Is this true? ``` Findings from the updated nix-openclaw: - Telegram config changed: the new schema expects channels.telegram.accounts.<name>.botToken (string) instead of telegram.tokenFile or providers.telegram. - providers.* options are gone in the module. That’s why nix flake check now fails with: programs.openclaw.instances.default.providers does not exist. - Security concern: botToken is now a plain string in the config JSON, which Home‑Manager writes into the Nix store. That would leak secrets into the store (bad). So upstream did not fix the telegram issue for us — they changed the module in a way that breaks our config and makes secret handling worse. Recommendation: - Do not update the machine yet. - Either roll back the nix-openclaw lock update, or patch the module locally to support tokenFile paths (safer) until upstream fixes it. ```
Author
Owner

@imrane commented on GitHub (Jan 31, 2026):

Solved...

@imrane commented on GitHub (Jan 31, 2026): Solved...
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/nix-openclaw#16