Repository navigation
Description
Problem
OpenClaw (laptop, gateway 2026.10.7) cannot complete an agent run in its main session: its model providers fail on authentication.
Evidence (2026-10-31, ACT-7 first tasking)
- First tasking delivered via gateway
chat.sendto sessionagent:main:main(accepted, run ef50e9a0). Run worked ~100s, then ended in error: "Session transcript keyed user is outside the current turn" (provider commandcode, moonshotai/kimi). - Retry run (970bfd92) ended in error with the root cause stated plainly: "All models failed (4): commandcode/deepseek/deepseek-v4-flash: Couldn't sign in to commandcode. Your saved login looks expired or no longer works."
- The message itself is confirmed present in the main-session transcript; the failure is entirely on the model/provider side.
Impact
OpenClaw cannot take work through its gateway until its provider login is refreshed — the ACT-7 onboarding report (and any future tasking) is blocked.
Next action
Re-authenticate OpenClaw's Command Code provider login on the laptop (openclaw config flow per the error message), then re-run a trivial main-session prompt and confirm a reply lands. Owner: fleet/Drew decision — provider re-login is a credential step.
Context: ACT-7 in ~/workspace/id-program-2026-10-28/PREPARED-ACTIONS.md; gateway device pairing for Muse's client was completed 2026-10-31 (device 19dcdb47…, operator scopes) and is NOT the problem — delivery and session access work.
Acceptance criteria
- OpenClaw's Command Code provider login is re-authenticated on the laptop (credential step — fleet/Drew).
- A trivial main-session prompt via the gateway completes with a reply (no "All models failed" auth error), evidenced on this issue.
- This issue closes with the verification run id / timestamp recorded.
Activity
dezren39 commentedon Oct 31, 2026
Fix path corrected by Drew (2026-10-31): do NOT re-authenticate the Command Code provider. OpenClaw must use ONLY the opencode-route provider door we built (code#2229) — pass-through only: the door handles auth and translates pool routes; underlying pools are reached exclusively through OpenCode routes.
Verified live state: the rendered config registers opencode-route (proxy healthy on :18750, models workhorse/speed/specialist/summit/scout), but agents.defaults.model still points at the direct providers — primary commandcode/deepseek/deepseek-v4-flash, fallbacks design-code/agy/commandcode — which is why the expired Command Code login killed the main-session runs.
Fix in flight: home/openclaw/default.nix — remove the four direct providers (commandcode, design-code, agy, codex-proxy) from the rendered config, set defaults to opencode-route/workhorse with opencode-route/specialist + opencode-route/speed fallbacks. Then laptop switch, gateway restart, and a live main-session verification run.
dezren39 commentedon Oct 31, 2026
Intake review
Fleet monitor intake pass (2026-10-31).
Related: PR #3105 ("fix(openclaw): stop retrying auth-dead providers, use session_status probe in pm-openclaw") is related hardening but does NOT resolve this issue — the root cause is an expired Command Code login, a credential step, not a code fix. No merged PR resolves this; verified live.
Notes: Arrived with only priority/high; labels/criteria now set, and
user/reviewadded because the next action is a human-side re-login on the laptop (per the body's own Next action). Status stays needs-triage-equivalent intake until that login happens.Risks: Until re-auth, every OpenClaw main-session tasking (including ACT-7 onboarding work) fails the same way; retries burn model attempts without changing the outcome.
Suggested approach: Drew/fleet re-authenticates the Command Code provider on the laptop (
openclaw configflow per the error), then re-runs a trivial main-session prompt and records the result here.dezren39 commentedon Oct 31, 2026
Intake review — correction
Fleet monitor correction (2026-10-31): one sentence of my intake comment above is retracted. It described PR #3105 as "fix(openclaw): stop retrying auth-dead providers…" — verified directly via the GitHub API, PR #3105 is actually "pm-dispatch(validate): own-key guard in resolvePriority (#2757, #2792 Phase 3)", an unrelated change. The fabricated description came from a bad search listing in my run.
What stands: no merged PR resolves this issue (searches surface no re-auth or OpenClaw-login fix), the root cause per the body is an expired Command Code login — a credential step, not a code fix — and the labels / acceptance criteria /
user/reviewfrom the intake pass remain valid.dezren39 commentedon Oct 31, 2026
Deploy close-out evidence (2026-10-31 ~16:20 CDT) — routing fix DEPLOYED and verified; the onboarding report is now blocked on route capacity, not on this issue's defect
What was blocking this issue: OpenClaw's runs died on its expired Command Code login because the gateway still had the pre-deploy configuration in memory and
/run/secrets/openclaw/*did not exist (sops system activation had never run with the secrets defined).What landed today:
["opencode-route"], defaultopencode-route/workhorse, fallbacksspecialist,speed.nixos-rebuild switchcompleted to generation/nix/store/lql5c3vqfrwisydgks0sqdw4ljl968la-...— the switch log recordsadding secrets: openclaw/gateway-token, openclaw/slack-app-token, openclaw/slack-bot-token.chat.sendaccepted (runs start). Two latent client bugs found and fixed along the way (a frame-loss race in the client's WS parser;chat.sendnow requires anidempotencyKey).Why the onboarding report is still owed: both post-deploy test runs executed and walked exactly the configured routes (workhorse → specialist → speed — the routing works as specified), but every leaf failed, per the proxy's
route_attemptledger for 2026-10-31 afternoon:The gateway's own record of the runs: "All models failed (3): opencode-route/workhorse: Couldn't sign in to opencode-route…" and "⚠️ The AI service reported a billing problem" — i.e. aggregated leaf quota/billing failures, not a gateway or configuration fault.
Remaining for closure: one completed onboarding report from OpenClaw. That needs at least one healthy leaf in the configured routes — a capacity/route-curation state (quota resets: opencode-go.personal period ends 2026-11-02, lab 2026-11-06, cline-pass ~5 days) — or a route change decision. Leaving this issue open until the report lands; the deploy it was waiting on is done.
developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 7375 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
dezren39 commentedon Nov 3, 2026
agent-note:v1
state: triaged (worker review of the
user/reviewlabel - reviewed, label removed)task: 7375 (repo-health-code-pilot, lane code-o)
Triage: the defect this issue names is fixed; the closure evidence is still owed
Original defect - GONE, by Drew's corrected fix path. The expired Command Code login is no longer in the path at all: per Drew's 2026-10-31 correction, OpenClaw uses only the opencode-route provider door (code#2229), and the route-only config (PR #3065: providers == ["opencode-route"]) was deployed 2026-10-31 with the gateway restarted and verified (deploy close-out note on this issue). No re-authentication of Command Code is needed or wanted.
Fresh state this shift (2026-11-03):
openclaw-gateway.service(user unit, laptop) is active/running (restarted today 14:56 laptop time); gateway process live on port 18789.Blocker / remaining for closure (named, per the deploy close-out): one completed OpenClaw main-session run - a trivial prompt via the gateway that lands a reply - recorded here with run id/timestamp. On 2026-10-31 every configured leaf was quota-walled; the first named reset (opencode-go.personal) passed 2026-11-02, so the verification run is now unblocked in principle, but it has not been run or recorded yet. That is an operational verification step for the fleet (no credential, no Drew decision - the route decision was already made), and it is the only thing between this issue and closure.
Verdict: issue stays OPEN pending that recorded verification run; the credential framing in the original acceptance criteria is superseded by Drew's route-only correction above.
dezren39 commentedon Nov 3, 2026
agent-note:v1
state: done
task: 7375 completed as triaged (repo-health-code-pilot, lane code-o). Findings and the named closure blocker are in the triage note above.
dezren39 commentedon Nov 4, 2026
CLOSED — ACT-7 completed 2026-11-04 (deploy-gated #1146 sequence, step 4).
The onboarding tasking was re-delivered through the paired gateway client (~/workspace/openclaw-client/send.mjs, protocol 4, paired Ed25519 identity, token from Bitwarden openclaw.gateway-token): accepted as run 7eabec94-3b93-4d79-b017-3ab11f015c2d, messageSeq 34. OpenClaw executed the full assignment and produced its onboarding report:
On this issue's original blocker: the Command Code login was NOT re-authenticated — it became moot. OpenClaw's config now routes solely through the opencode-route provider (workhorse primary, specialist/speed fallbacks); the run above executed entirely on it with no auth failure. The functional acceptance (a main-session prompt completes with a reply, no All models failed) is met and exceeded by the full onboarding run. If Drew wants the commandcode login itself restored for other reasons, reopen and say so.
One operational note from the re-run: openclaw-gateway.service was inactive after the 05:47 reboot (never started on this boot) and had to be started manually at 08:24 CST; it took ~90s to bind :18789 and has been healthy since. Gateway start-on-boot is worth a look under the fleet service work — it is not tracked here.