Skip to content

Onboarding re-sync: Crestodian conversation as the default across web install, CLI, and macOS app #99934

Description

@steipete

Problem

Onboarding is fragmented and menu-driven. The web installer, openclaw onboard, and the macOS app each walk users through multi-step wizards (auth choice, model picker, workspace, gateway, channels, skills), and the macOS "Meet your agent" chat dead-ends with No API key found for provider "openai" when no model auth exists yet. Meanwhile the machine usually already has usable inference (a Claude Code or Codex login, or API keys) that onboarding ignores.

Proposal

Make Crestodian the onboarding: one conversation, everywhere.

  • openclaw onboard (and bare openclaw on a fresh install) opens the Crestodian conversation. It detects existing inference (Claude Code/Codex logins — login-aware, keychain-safe — or OPENAI_API_KEY/ANTHROPIC_API_KEY), proposes the full plan, and a plain yes applies everything: model, workspace + bootstrap files, quickstart gateway, service install, audited.
  • Crestodian runs as a real agent on the embedded agent loop with a single construction-gated ring-zero crestodian tool wrapping the typed operations (read actions free; mutations require conversational approval; post-write config validation feeds errors back into the loop so it self-corrects). Degrades to the single-turn planner (CLI harnesses) and to deterministic typed commands (no model at all).
  • Channels connect conversationally (connect telegram hosts the channel wizard as chat turns), then talk to agent hands off.
  • macOS app: the step-wizard page is replaced by the same Crestodian chat over a new additive crestodian.chat gateway method (works before any model auth exists); permissions page is importance-sorted with no scrolling.
  • Classic wizard stays behind --classic/explicit flags; --non-interactive automation unchanged; --modern becomes a deprecated alias for openclaw crestodian.

Found and fixed along the way: the configless Codex app-server fallback was dead on arrival (tools.exec.mode=deny floor from default exec approvals + tools hidden behind the tool-search index), and the Crestodian channel listing was empty in packaged installs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Emergency: data loss, security bypass, crash loop, or unusable core runtime.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.impact:ux-release-blockerA non-technical user is blocked without terminal, logs, config, or support.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.maintainerMaintainer-authored PRmaturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions