Kevin Lin
8954c03231
fix(codex): default plugin destructive actions on ( #80792 )
2026-05-11 16:50:15 -07:00
Kevin Lin
f5b0eca12a
docs: reorganize tools automation nav ( #80116 )
...
* docs: reorganize tools automation nav
* docs: add nav spec glossary terms
* docs: refresh nav spec validation
* docs: keep capabilities nav grouped
* docs: refactor tools overview
* docs: restore tools overview coverage
* add doc refactor skill
* docs: mark refactored docs schema
* docs: remove refactor specs from pr
* docs: rename tools overview header
2026-05-11 15:59:27 -07:00
Val Alexander
51b73b39a8
fix(auth): align operator bootstrap scopes
...
Preserve full shared-token operator sessions while reusing bootstrap/cached device-token scopes for handoff reconnects.
Surface device-token scope mismatches as AUTH_SCOPE_MISMATCH and stop reconnect retry loops without clearing valid stored tokens.
Fixes #79292 .
Supersedes #79314 , #79296 , #79295 .
2026-05-11 14:14:33 -05:00
AI-HUB
578fad471a
docs(subagents): document announce timeout ( #75509 )
...
Document agents.defaults.subagents.announceTimeoutMs in the sub-agent and configuration references, and align the exported type comment with the runtime default.
Thanks @akrimm702.
Co-authored-by: AI-HUB <144416483+akrimm702@users.noreply.github.com >
2026-05-11 19:33:50 +01:00
jesse-merhi
79c2ed9065
feat: make exec command highlighting optional
2026-05-12 03:59:30 +10:00
samzong
380a679313
feat(cron): add direct job lookup
...
Signed-off-by: samzong <samzong.lu@gmail.com >
2026-05-11 18:47:46 +01:00
Omar Shahine
efc8641393
fix: add channel status filtering ( #80706 )
...
Summary:
- Add `openclaw channels status --channel <name>` filtering through CLI, gateway protocol, and fallback status rendering.
- Document the BlueBubbles-to-iMessage cutover path so operators can probe iMessage without starting both monitors.
- Refresh generated Swift protocol model for the new optional channel status parameter.
Verification:
- `pnpm test src/gateway/server-methods/channels.status.test.ts src/commands/channels.status.command-flow.test.ts src/cli/program/routes.test.ts -- --reporter=verbose`
- `CI=true pnpm check:docs`
- `pnpm protocol:check`
- `git diff --check`
- `node scripts/check-changelog-attributions.mjs`
- CI head `45b27e3866`: focused/docs/protocol shards green locally; GitHub broad/scanner jobs queued for runners at merge attempt time; `Real behavior proof` failure is the maintainer-ignorable external-real-proof complaint.
2026-05-11 18:44:54 +01:00
Peter Steinberger
694f40fcee
fix: constrain Codex app-server sandbox
2026-05-11 18:23:00 +01:00
Jerran C.
530b892f06
feat(tools): add per-sender tool policies ( #66933 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-11 18:01:39 +01:00
FullerStackDev
b8e9492086
fix(bonjour): back off probing watchdog repairs
2026-05-11 15:42:39 +01:00
Lellansin
0e6aca34db
fix(gateway): align OpenAI chat completions tool protocol
...
fix(gateway): remove unnecessary type assertion in buildAgentPrompt
fix(gateway): reject unsupported forced tool_choice modes
tool_choice=required and named function tool_choice are now rejected
with invalid_request_error until hard enforcement is implemented
at the agent runtime layer. Only auto and none remain supported.
docs: update Chat Completions tool_choice contract to match rejection behavior
Only auto and none are currently accepted; required and named
function tool_choice are rejected until hard enforcement exists.
2026-05-11 13:06:05 +01:00
Peter Steinberger
d90ab9a13f
feat(session): raise ping-pong turn ceiling
...
Co-authored-by: Thirumalesh <thirumaleshpinninti@gmail.com >
2026-05-11 04:24:19 +01:00
Peter Steinberger
15cf49222f
build: refresh deps and route testbox through crabbox
2026-05-11 03:41:00 +01:00
Peter Steinberger
3f815fad12
fix(gateway): widen native protocol compatibility
2026-05-11 01:38:23 +01:00
Vincent Koc
8dc221121c
docs(gateway): fix configuration-examples to use schema-correct agents.defaults paths
...
The page used the legacy top-level agent: { ... } shape and a top-level
identity: { ... } block. Both are rejected by OpenClawSchema today
(see src/config/zod-schema.ts and the legacy rejection test in
src/config/config.legacy-config-detection.accepts-imessage-dmpolicy.test.ts).
Fixes:
- 6 examples: agent: { workspace, model, elevated } -> agents.defaults.*
- agents.defaults.elevated.enabled (non-existent) -> agents.defaults.elevatedDefault (off|on|ask|full per src/config/zod-schema.agent-defaults.ts:245)
- top-level identity: blocks moved into agents.list[].identity (canonical form per docs/gateway/config-agents.md and AgentEntrySchema)
- Expanded example identity merged into the existing main agent entry rather than a duplicate agents: block
2026-05-11 08:20:45 +08:00
Peter Steinberger
848c28537b
feat(models): start local services on demand
2026-05-10 18:21:27 +01:00
Peter Steinberger
8e700ba317
feat(slack): add unfurl controls
...
Co-authored-by: Hemantsudarshan <hemanthsudarshan2002@gmail.com >
2026-05-10 15:29:24 +01:00
Peter Steinberger
335e5456d0
fix(agent): respect delivery status evidence
2026-05-10 14:09:01 +01:00
Peter Steinberger
325d9ca7cb
fix: add strict OpenAI-compatible message key mode
2026-05-10 10:02:05 +01:00
Peter Steinberger
a39c05559b
fix: preserve Codex auth during route repair
...
Summary:
- repair legacy openai-codex model refs to canonical openai refs without losing Codex auth intent
- keep scoped repairs from broadening runtime policy to unrelated agent/channel routes
- preserve explicit concrete model runtime pins and shield listed-agent canonical refs from default policy spillover
Verification:
- pnpm test src/commands/doctor/shared/codex-route-warnings.test.ts src/config/plugin-auto-enable.core.test.ts src/commands/doctor/shared/missing-configured-plugin-install.test.ts
- env -u OPENCLAW_TESTBOX -u OPENCLAW_TESTBOX_ID pnpm check:changed
- GitHub checks for 81b2934240
2026-05-10 04:53:44 -04:00
bitloi
ed6b030a43
feat(process): show input-wait hints in log and poll
...
Show input-wait hints in process log/poll for idle interactive background sessions, keep list markers and structured stdin metadata, and document the recovery flow through log plus existing input actions.
Docs: updated docs/gateway/background-process.md.
Verification:
- pnpm test src/agents/bash-tools.test.ts
- pnpm test src/agents/bash-tools.process.input-hints.test.ts
- pnpm test src/agents/bash-tools.process.input-hints.test.ts src/agents/bash-tools.process.poll-timeout.test.ts src/agents/bash-tools.process.supervisor.test.ts src/agents/bash-tools.process-send-keys.test.ts
- pnpm check:docs
- git diff --check
- CI on 4aea1f11fe : check, check-additional, check-docs, checks-node-core, process/security relevant shards, real behavior proof passed
Fixes #33957 .
Thanks @bitloi and @vincentkoc.
Co-authored-by: bitloi <89318445+bitloi@users.noreply.github.com >
Co-authored-by: bitloi <raphaelaloi.eth@gmail.com >
2026-05-10 04:13:07 -04:00
MkDev11
e37a3050d9
fix(agents): clean false-live session locks ( #76854 )
...
Summary:
- Clean false-live session locks whose live PID resolves to a non-OpenClaw owner.
- Tighten owner argv detection so generic JS entrypoints require an OpenClaw command token.
- Add regression coverage for generic non-OpenClaw entrypoints and preserve real gateway argv.
Verification:
- pnpm test src/agents/session-write-lock.test.ts src/commands/doctor-session-locks.test.ts
- pnpm test src/infra/gateway-process-argv.test.ts
- pnpm exec oxfmt --check --threads=1 src/agents/session-write-lock.ts src/agents/session-write-lock.test.ts src/commands/doctor-session-locks.ts src/commands/doctor-session-locks.test.ts docs/gateway/doctor.md CHANGELOG.md
- node scripts/run-oxlint.mjs src/agents/session-write-lock.ts src/agents/session-write-lock.test.ts src/commands/doctor-session-locks.ts src/commands/doctor-session-locks.test.ts
- CI workflow success on d42f9c46ef
Co-authored-by: mkdev11 <MkDev11@users.noreply.github.com >
2026-05-10 02:13:55 -04:00
Peter Steinberger
53cd3daed3
fix(kimi): use stable coding model id
2026-05-10 06:17:58 +01:00
80mills
ebd776298f
Add provider wildcard model visibility
2026-05-10 00:50:10 -04:00
Kevin Lin
b79de62b3c
fix(codex): remove dynamic tools profile option
2026-05-09 21:34:33 -07:00
Kevin Lin
ce0584af89
docs: reorganize Codex harness docs ( #80029 )
...
* docs: reorganize codex harness docs
* docs: address codex harness review findings
* docs: move codex references to reference nav
* docs: add codex topic configuration section
2026-05-09 19:02:50 -07:00
Peter Steinberger
38fe4d36c6
fix(discord): suppress stale realtime consults
2026-05-10 02:23:25 +01:00
VACInc
c5cc1bb184
Enable realtime Talk instructions config
2026-05-09 21:20:06 -04:00
samzong
d832ad214c
[Feat] Add upload archive install RPC ( #74430 )
...
* feat(skills): add upload archive install RPC
- src/agents/skills-archive-install.ts:83 [BOT-SCOPE]: `withExtractedArchiveRoot()` still returns unstructured extract failures, so exact transient-vs-terminal classification should be moved into the shared install-flow layer in a follow-up rather than expanding this PR.
Signed-off-by: samzong <samzong.lu@gmail.com >
* fix(skills): address archive upload review findings
Signed-off-by: samzong <samzong.lu@gmail.com >
* fix(skills): regen protocol bindings and classify transient archive errors
* feat: gate uploaded skill installs by config
* test: add docker skill install proof
* docs: clarify uploaded skill archive gate
* chore: refresh config docs baseline
* style: format docker e2e plan test
* fix: use fs-safe path checks for skill archives
* fix: classify skill publish failures as unavailable
* test: update skill clawhub path mock
* fix: pass mutable archive root markers
* fix: use current json dir mode option
* test: satisfy skill upload lint
* test: refresh core support expectations
---------
Signed-off-by: samzong <samzong.lu@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-09 20:44:18 -04:00
hcl
aeb7d07364
fix(cli-runner): gate raw transcript reseed
...
Summary:
- Gate raw transcript reseeding behind an explicit CLI backend opt-in.
- Keep auth-profile and auth-epoch invalidations from replaying raw transcript history.
- Add regression coverage, docs, config schema/baseline, and changelog entry for #79713 .
Verification:
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/gateway/cli-backends.md docs/gateway/config-agents.md src/agents/cli-runner.reliability.test.ts src/agents/cli-runner/prepare.test.ts src/agents/cli-runner/prepare.ts src/agents/cli-runner/session-history.test.ts src/agents/cli-runner/session-history.ts src/config/types.agent-defaults.ts src/config/zod-schema.core.ts
- pnpm run lint:extensions:bundled
- pnpm deadcode:dependencies
- pnpm test src/agents/cli-runner/session-history.test.ts src/agents/cli-runner/prepare.test.ts src/agents/cli-runner.reliability.test.ts src/config/schema.test.ts src/config/zod-schema.agent-defaults.test.ts
- GitHub CI on b63f3afdc4 : lint, prod/test types, docs, dependencies, fast contracts, core/agentic shards, and real behavior proof passed.
Co-authored-by: hclsys <hclsys@openclaw.ai >
2026-05-09 10:52:30 -04:00
Peter Steinberger
50cb027a88
docs: document trusted skill symlink targets
2026-05-09 14:59:34 +01:00
Peter Steinberger
5618a8f8f6
feat: allow trusted skill symlink targets
2026-05-09 14:43:54 +01:00
Liu Wenyu
c91fffdd67
feat(config): support Qwen thinkingFormat values ( #79777 )
...
## Summary
- allow configured OpenAI-compatible Qwen models to opt into `qwen` and `qwen-chat-template` thinking payloads
- preserve those compat values through schema validation and catalog normalization
- map OpenClaw `/think` levels to `enable_thinking` or `chat_template_kwargs.enable_thinking` without also sending `reasoning_effort`
- clarify docs that request-level chat-template kwargs require compatible backends such as vLLM
## Verification
- git diff --check
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/gateway/config-agents.md docs/gateway/config-tools.md src/config/zod-schema.core.ts src/config/types.models.ts src/model-catalog/normalize.ts src/agents/openai-transport-stream.ts src/config/config-misc.test.ts src/model-catalog/normalize.test.ts src/agents/openai-transport-stream.test.ts
- pnpm config:schema:check
- pnpm test src/config/config-misc.test.ts src/model-catalog/normalize.test.ts src/agents/openai-transport-stream.test.ts
- GitHub CI on 2404edca39
Thanks @indulgeback.
2026-05-09 08:02:39 -04:00
VACInc
cfb0c34ff6
feat: add realtime consult overrides
2026-05-09 06:51:20 -04:00
Peter Steinberger
d80f20057e
fix: align realtime voice consult tool flow
2026-05-09 11:33:56 +01:00
tmimmanuel
2945948a5e
feat(gateway): add SDK task ledger RPCs ( #74847 )
...
Adds Gateway task ledger RPCs and SDK methods for listing, fetching, and cancelling durable background tasks. Includes protocol schemas/scopes, generated Swift models, docs, and tests. Public task summary text is sanitized before SDK exposure.
2026-05-09 00:55:06 -05:00
Andy Ye
368c21e211
fix(daemon): include Homebrew in macOS service PATH
...
Summary:
- Document the canonical macOS LaunchAgent PATH including Apple Silicon Homebrew bin directories.
- Add service-audit regression coverage that flags stale macOS service PATHs missing Homebrew directories.
- Record the user-facing Gateway/macOS fix in the changelog.
Verification:
- Exact PR head 8aa19dde07 was approved, CLEAN, and MERGEABLE before merge.
- GitHub exact-head CI/check-docs/proof lanes were green with no failing or pending check runs.
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md docs/gateway/doctor.md src/daemon/service-audit.test.ts src/daemon/service-env.ts src/daemon/service-env.test.ts src/commands/daemon-install-helpers.test.ts
- pnpm check:changelog-attributions
2026-05-08 17:59:46 -05:00
RenzoMXD
60f1b1f8d9
fix(gateway): preserve external Tailscale Funnel routes in serve mode
...
Adds opt-in `gateway.tailscale.preserveFunnel`. When `tailscale.mode = "serve"`
and an externally configured Tailscale Funnel route already covers the gateway
port, OpenClaw checks `tailscale funnel status --json` before re-applying
`tailscale serve` and skips both Serve and the `resetOnExit` teardown for that
run, preserving operator-managed Funnel exposure across gateway restarts.
The Funnel-status parser handles every documented Tailscale target scheme
(http, https, https+insecure) via an RFC 3986 scheme strip, plus loopback
hostnames (127.0.0.1, localhost, ::1) and bare-port forms. AllowFunnel-disabled
hosts and other-port routes are ignored.
Closes #57241 .
2026-05-08 09:28:51 -04:00
pashpashpash
02fe0d8978
Keep OpenAI Codex migrations on automatic runtime routing ( #79238 )
...
* fix: keep migrated openai codex routes automatic
* scope runtime policy to providers and models
* fix runtime policy surfaces
* fix ci runtime policy checks
* fix doctor stale session runtime pins
2026-05-08 16:05:35 +09:00
Peter Steinberger
d29201fe4f
docs: clarify BlueBubbles to imsg migration
2026-05-08 06:49:37 +01:00
Peter Steinberger
1f88cb2ce5
fix(gateway): persist macOS stop disable after bootout
...
Summary:
- carry forward #78412 's macOS LaunchAgent bootout-by-default stop behavior and repair guard
- fix the remaining `gateway stop --disable` tail when the service is already not loaded after bootout
- add lifecycle regressions, docs, and changelog
Verification:
- pnpm install
- pnpm test src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/lifecycle.test.ts src/daemon/launchd.test.ts
- pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/cli/daemon-cli/lifecycle-core.ts src/cli/daemon-cli/lifecycle.ts src/cli/daemon-cli/lifecycle-core.test.ts src/cli/daemon-cli/lifecycle.test.ts docs/cli/gateway.md docs/gateway/index.md src/daemon/launchd.ts src/daemon/launchd.test.ts src/cli/daemon-cli/register-service-commands.ts src/cli/daemon-cli/types.ts src/daemon/service-types.ts
- git diff --check origin/main...HEAD
- pnpm build
- Parallels macOS Tahoe VM reproduce/fix proof in PR body
- PR checks green: Real behavior proof, auto-response, dispatch, label, label-issues
Co-authored-by: wdeveloper16 <25180374+wdeveloper16@users.noreply.github.com >
2026-05-08 05:35:21 +01:00
Daev Mithran
9e1e59717f
feat(plugin-sdk): add LLM completion API to plugin ( #64294 )
2026-05-07 19:27:48 -07:00
Josh Avant
83aad863fd
Clarify exec filesystem policy drift ( #79153 )
...
* docs: clarify exec filesystem policy
* fix: warn on exec filesystem policy drift
* docs: clarify exec filesystem mutation surface
2026-05-07 20:05:19 -05:00
Kevin Lin
a1ac559ed7
feat(codex): enable native plugin app support ( #78733 )
...
* feat(codex): add native plugin config schema
* feat(codex): add native plugin inventory activation
* feat(codex): configure native plugin apps for threads
* feat(codex): enforce plugin elicitation policy
* feat(codex): migrate native plugins
* docs(codex): document native plugin support
* fix(codex): harden plugin migration refresh
* fix(codex): satisfy plugin activation lint
* fix: stabilize codex plugin app config
* fix: address codex plugin review feedback
* fix: key codex plugin app cache by websocket credentials
* fix: keep codex plugin app fingerprints stable
* fix: refresh codex plugin cache test fixtures
* fix: refresh plugin app readiness after activation
* fix: support remote codex plugin activation
* fix: recover plugin app bindings after cache refresh
* fix: force codex app refresh after plugin activation
* fix: recover partial codex plugin app bindings
* fix: sync codex plugin selection config
* fix: keep codex plugin activation fail closed
* fix: align codex plugin protocol types with main
* fix: refresh partial codex plugin app bindings
* fix: key codex app cache by env api key
* fix: skip failed codex plugin migration config
* test: update codex prompt snapshots
* fix: fail closed on missing codex app inventory entries
* fix(codex): enforce native plugin policy gates
* fix(codex): normalize native plugin policy types
* fix(codex): fail closed on plugin refresh errors
* fix(codex): use native plugin destructive policy
* fix(codex): key plugin cache by api-key profiles
* fix(codex): drop unshipped plugin fingerprint compat
* fix(codex): let native app policy gate plugin tools
* fix(codex): allow open-world plugin app tools
* fix(codex): revalidate native plugin app bindings
* fix(codex): preserve plugin binding on recheck failure
* docs(codex): clarify plugin harness scope
* fix(codex): return activation report state exhaustively
* test(codex): refresh prompt snapshots after rebase
* fix(codex): match namespaced plugin ids
2026-05-07 17:20:28 -07:00
Peter Steinberger
b75e5c50bf
docs: document OpenAI realtime voices
2026-05-08 01:07:46 +01:00
Peter Steinberger
63ec912786
fix(openai): use GA realtime bridge for gpt-realtime-2
...
Summary:
- switch OpenAI realtime voice default to gpt-realtime-2
- migrate backend OpenAI WebSocket bridge to the GA session shape and drop the beta header
- keep Azure deployment realtime bridges on the deployment-compatible shape
- extend live Talk smoke coverage and align npm Telegram package-runtime assertions
Verification:
- pnpm test extensions/openai/realtime-voice-provider.test.ts src/gateway/protocol/index.test.ts src/gateway/talk-handoff.test.ts extensions/google-meet/index.test.ts -- --reporter=dot
- pnpm test test/scripts/npm-telegram-live.test.ts -- --reporter=dot
- pnpm check:docs
- env OPENCLAW_TESTBOX=0 pnpm check:changed
- OPENCLAW_REALTIME_OPENAI_MODEL=gpt-realtime-2 node --import tsx scripts/dev/realtime-talk-live-smoke.ts
2026-05-08 00:47:25 +01:00
Vincent Koc
0fca665497
docs(imessage): document bluebubbles deprecation
2026-05-07 13:12:00 -07:00
Vincent Koc
91ed1604b0
docs(imessage): make imsg the supported setup path
2026-05-07 12:53:01 -07:00
pashpashpash
1c33990108
Route OpenAI agents through Codex by default ( #78899 )
...
* route openai agent runs through codex
* fix: load codex plugin for implicit openai runtime
* fix: preserve explicit OpenAI PI Codex auth routing
* fix: show codex auth for openai model listing
* fix: map codex auth into configured openai list rows
* fix: preserve explicit openai pi auth routes
* docs: keep openai model route examples canonical
* fix: clean openai codex test fixtures
* fix: scope codex auth status fallback
* fix: repair current ci boundary drift
2026-05-07 19:46:49 +09:00
Peter Steinberger
8e17910191
fix: treat aws sdk auth profiles as config metadata
2026-05-07 10:24:19 +01:00