feat(run): OpenClaw joins the supported agents table - #108
Merged
Conversation
Verified end to end against a local EE stack: OpenClaw honors the injected proxy env (undici EnvHttpProxyAgent), loads skills from ~/.openclaw/skills, and its long-lived process is `openclaw gateway run`. Hook install is skipped: its hook system is its own, not Claude-style settings.json. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
OpenClaw refuses to start a model turn without a provider key in its environment, and `onecli run` strips the server-provided ANTHROPIC_API_KEY — so a bare `onecli run -- openclaw ...` died on "Unknown model" unless the user hand-configured a placeholder. The agentSpec grows needsAnthropicKey: agents flagged with it get a self-describing placeholder key ensured in the child env (an existing shell key wins; buildChildEnv passes those through today for every agent). The gateway replaces x-api-key on every injected request, so the placeholder never reaches the provider — pinned by a new gateway unit test in the cloud repo. Same pattern as the Codex auth stub. Proven live against a local EE stack: bare `onecli run -- openclaw agent ...` (no env wrapper, nothing in OpenClaw's config) completed the turn through the gateway with the vault key injected. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two commits making OpenClaw a first-class, zero-config agent under
onecli run:supportedAgentsrow — skills install to~/.openclaw/skills(verified against the published package: it loads skills fromjoin(CONFIG_DIR, "skills")), hook install skipped (its hook system is its own, not Claude-stylesettings.json).onecli runstrips the server-providedANTHROPIC_API_KEY, so a bareonecli run -- openclaw ...previously died on "Unknown model" unless the user hand-configured a placeholder. TheagentSpecgrowsneedsAnthropicKey: flagged agents get a self-describing placeholder (sk-ant-onecli-gateway-placeholder) ensured in the child env. An existing shell key wins (buildChildEnvpasses those through today for every agent), and the gateway replacesx-api-keyon every injected request either way — the placeholder can never reach the provider. Same pattern as the existing Codex auth stub.Why it's known to work
x-api-keywith the vault key, exactly once, on both edition builds — the property this whole design rests on.onecli run -- openclaw agent ...— no env wrapper, nothing in OpenClaw's config — booted the provider off the placeholder and completed the turn through the gateway, attributed to the right agent withinjection_count=1and the vault key upstream.Verification
go build,go test -race(newTestEnsureEnv: append-when-absent, existing-value-wins without duplicates, no key-prefix false match;TestAgentSkillDirextended),golangci-lint0 issues.Companions: onecli/onecli-cloud#748 (Install page pill + the gateway overwrite pin + org-key
/v1/userfix) · onecli/onecli-docs#13 (supported-agents row; tip updated to describe the automatic placeholder).🤖 Generated with Claude Code