Vincent Koc
007fdb1f7c
test(extensions): remove duplicate coverage ( #116643 )
2026-07-31 11:59:12 +08:00
Josh Avant
ce67ffb70e
feat(agents): add tool-free isolated completion ( #114343 )
...
* feat: add isolated pure-inference completion
* fix(google): block ambient system prompt writes
* docs: refresh generated map
2026-07-30 13:24:45 -05:00
Alex Knight
be24db5f72
fix(auth): reuse Claude CLI logins natively and stop forwarding expired OAuth tokens ( #115134 )
...
* fix(auth): refresh selected Claude CLI profiles
* fix(auth): run imported Claude CLI logins as verified native passthrough
* fix(auth): satisfy CLI auth failure exhaustiveness
* docs: remove PR changelog entry
---------
Co-authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-07-29 01:30:07 -04:00
Peter Steinberger
5bea268128
feat(anthropic): complete Claude Opus 5 rollout ( #113392 )
...
* feat(models): add Claude Opus 5 support
* test(models): align Opus 5 setup fixtures
* test(models): update ambient Opus 5 detection
* fix(models): reconcile Opus 5 support with main
2026-07-24 14:55:36 -07:00
joshavant
a325467557
fix(cron): preserve scheduled caps across CLI and worker upgrades
2026-07-24 01:24:03 -05:00
joshavant
8287e21445
fix(cron): enforce caps across CLI backends
2026-07-24 01:24:03 -05:00
Peter Steinberger
a229456f48
feat(agents): relay Claude native tool requests as Gateway approvals ( #112918 )
...
* feat(agents): relay Claude native tool requests as Gateway approvals
* fix(agents): keep approval relay types local and refresh docs map
2026-07-23 03:21:08 -04:00
Peter Steinberger
3c4a1ec905
refactor(agents): move CLI backend adapters from config DSL to registerCliBackend plugins (review request) ( #112539 )
...
* refactor(agents): move CLI backend adapters into plugins
* test(agents): register CLI backend fixtures through plugins
2026-07-22 00:25:29 -07:00
Jason (Json)
1a42e005fb
fix(anthropic): forward selected profiles to Claude CLI ( #112458 )
...
* fix(anthropic): forward Claude CLI auth profiles
* fix(system-agent): inject CLI auth route stores
* fix(claude-cli): pass profile credentials by descriptor
* fix(anthropic): repair selected profile CI coverage
* fix(anthropic): preserve profile owner validation
* test(system-agent): preserve selected profile fixtures
* test(system-agent): narrow selected profile fixture
* test(system-agent): resolve profile store merge
* fix(anthropic): forward profiles to node Claude runs
* fix(system-agent): reconcile profile route projection
* test(system-agent): thread profile store through projection
* fix(anthropic): make selected profile authoritative
* fix(system-agent): type auth setup failures
* fix(system-agent): type setup auth failures
* style: format Claude profile maintenance
* fix(anthropic): keep gateway credentials off nodes
* fix(anthropic): clear ambient auth for selected profiles
* fix(anthropic): secure paired-node Claude auth
* fix(node-host): type Claude fd spawn streams
* style(node-host): satisfy Claude spawn lint
* fix(process): capture exit before secret delivery
* fix(anthropic): preserve node-native Claude auth
2026-07-21 23:27:37 -06:00
Peter Steinberger
edecdbd05e
refactor(config): config-surface reduction tranche 3 — product consolidations (review request) ( #111527 )
...
* refactor(config): consolidate media model lists
* refactor(config): unify memory configuration
* refactor(config): consolidate TTS ownership
* refactor(config): move typing policy to agents
* refactor(config): retire product-level config surfaces
* refactor(config): share scoped tool policy type
* chore(config): refresh generated baselines
* fix(config): honor agent typing overrides
* fix(config): migrate sibling config consumers
* refactor(infra): keep base64url decoder private
* fix(config): strip invalid legacy TTS values
* chore(config): refresh rebased baseline hash
* fix(doctor): route legacy messages.tts.realtime voice to talk during tts move
* refactor(config): polish final layout names
* refactor(config): freeze retired tuning defaults
* feat(config): add fast mode default symmetry
* refactor(config): key agent entries by id
* docs(config): update final layout reference
* test(config): cover final layout migrations
* chore(config): refresh final layout baselines
* fix(config): align final layout runtime readers
* fix(config): align remaining readers
* fix(config): stabilize final layout migrations
* fix(config): finalize config projection proof
* fix(config): address final layout review
* docs(release): preserve historical config names
* fix(config): complete keyed agent migration
* fix(config): close final migration gaps
* fix(config): finish full-branch review
* fix(config): complete runtime secret detection
* fix(config): close final review findings
* fix(config): finish canonical docs and heartbeat migration
* fix(config): integrate latest main after rebase
* refactor(env): isolate test-only controls
* refactor(env): isolate build and development controls
* refactor(env): collapse process identity indirection
* refactor(env): remove duplicate config and temp aliases
* docs(env): define the operator-facing allowlist
* ci(env): ratchet production variable count
* fix(env): remove stale provider helper import
* fix(env): make ratchet sorting explicit
* test(env): keep test seam in dead-code audit
* test(env): cover ratchet growth and boundary; document surface budgets
* docs(config): document tier-eval consolidations
* docs(config): clarify speech preference ownership
* test(memory): align retired tuning fixtures
* refactor(memory): freeze engine heuristics
* refactor(config): apply tier-eval tranche
* refactor(tts): move persona shaping to providers
* refactor(compaction): move prompt policy to providers
* test(config): align hookified prompt fixtures
* chore(deadcode): classify test-only exports
* chore(github): remove unused spawn helper
* chore(deadcode): classify queue diagnostics
* chore(deadcode): remove unused lane snapshot export
* chore(plugin-sdk): ratchet consolidated surface
* fix(config): integrate latest main after rebase
2026-07-21 20:28:43 -07:00
Jason (Json)
24c20eec76
fix(agents): enforce Claude CLI cron tool policies ( #112457 )
...
* fix(agents): enforce Claude CLI tool policies
* fix(agents): bound CLI runtime tool grants
* fix(agents): isolate restricted Claude runs
2026-07-21 19:38:21 -06:00
Peter Steinberger
169ed48866
refactor(deadcode): tighten Anthropic extension roots ( #108547 )
2026-07-15 18:35:24 -07:00
Peter Steinberger
a6a0716486
feat(setup): rename Crestodian to OpenClaw system agent
...
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.
Refs #107237
2026-07-14 11:03:02 -07:00
mushuiyu886
ed57c6cd88
fix(agents): honor claude-cli contextTokens setting ( #93198 )
...
* fix: honor claude-cli configured context tokens
* test: cover claude-cli native compaction budget
* test: cover ordinary claude-cli budget persistence
* test: migrate claude-cli budget fixtures to session accessor
* fix(agents): carry CLI provider into context budget
* fix(agents): guard optional CLI context metadata
* fix(agents): align Claude CLI native compaction budget
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* fix(agents): apply selected CLI context cap
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* fix(agents): preserve prepared CLI context budgets
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* fix(agents): resolve prepared CLI context ownership
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* test(agents): type CLI context budget cases
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 01:58:44 -07:00
Peter Steinberger
96f0983a85
fix(onboarding): skip setup for configured gateways and require inference first ( #102883 )
...
* fix(crestodian): keep onboarding RPCs restart-safe
* fix(profiles): isolate approval state migrations
* fix(crestodian): bypass configured gateway setup
* test(crestodian): type onboarding mocks
* fix(onboarding): require inference before Crestodian
* fix(onboarding): enforce verified inference handoff
* fix(macos): reset setup on gateway endpoint edits
* chore(i18n): refresh native source inventory
* fix(gateway): keep socket on request cancellation
* test(packaging): require workspace templates
* fix(onboarding): bind setup to verified inference
* fix(onboarding): align inference gate contracts
* fix(crestodian): classify concurrent policy rejection
* test(crestodian): expect registry restoration
* fix(onboarding): bind setup to configured gateways
* fix(codex): preserve startup phase deadlines
* test(crestodian): match fail-closed policy ordering
* test(onboarding): assert bound gateway handoff
* fix(codex): bind runtime resolution to spawn cwd
* test(crestodian): assert policy rejection order
* fix(cli): preserve gateway routing across restarts
* fix(macos): fail closed during gateway edits
* test(macos): cover gateway route generation races
* chore: keep release notes out of onboarding PR
* fix(ci): refresh onboarding generated checks
* style(swift): align gateway channel formatting
* fix(ci): refresh plugin SDK surface budgets
* fix(ci): resync native string inventory
* refactor(swift): split gateway channel support
* test(doctor): isolate plugin compatibility registry
* test(macos): isolate gateway onboarding fixtures
* test(macos): assert gateway lease health ordering
* fix(codex): reconcile computer-use startup changes
2026-07-11 10:25:14 -07:00
Peter Steinberger
baea671ef3
fix(anthropic): delegate adaptive Claude CLI effort ( #103815 )
...
* fix(anthropic): delegate adaptive CLI effort
Strip static --effort args for adaptive runs so Claude Code resolves effort from its environment, settings, and model default. Preserve configured effort for off or absent thinking and replace it only for concrete OpenClaw levels.
Fixes #103245
Co-authored-by: Dan Korotin <korotin.daniil@gmail.com >
* fix(anthropic): make effort dispatch exhaustive
---------
Co-authored-by: Dan Korotin <korotin.daniil@gmail.com >
2026-07-10 17:57:50 +01:00
anagnorisis2peripeteia
298a0cd55f
fix(claude-cli): disable unsupported background tools ( #95008 ) (thanks @anagnorisis2peripeteia)
...
Disable Claude CLI native background Bash and Monitor in OpenClaw-managed print runs, matching the existing fail-closed scheduler-tool behavior. This keeps deferred work on OpenClaw-owned wake paths instead of native Claude callbacks OpenClaw cannot deliver.
Thanks @anagnorisis2peripeteia!
2026-06-22 05:44:48 +05:30
Vincent Koc
c2ee9b0be8
fix(gateway): preserve owner MCP tools for agent RPC
2026-06-21 18:14:38 +02:00
Josh Avant
689ebc815b
feat: support /btw in CLI-backed sessions ( #92669 )
...
* feat: support CLI btw side questions
* test: fix CLI prepare test fixture types
* fix: lazy load local btw runner
2026-06-13 19:36:53 +02:00
Peter Steinberger
4fa5092cdc
docs: document small extension sources
2026-06-04 21:02:07 -04:00
Peter Steinberger
1188aa3b81
feat: add Claude Opus 4.8 support ( #87890 )
...
* feat: add Claude Opus 4.8 support
* fix: omit Vertex Opus sampling overrides
* fix: preserve Opus adaptive thinking levels
* fix: clamp Anthropic max effort support
* fix: use sha256 for QA mock call ids
* fix: type Anthropic transport test model metadata
* test: update PDF model default for Opus 4.8
2026-05-29 06:10:42 +01:00
Peter Steinberger
e12a6d6a67
refactor(agents): own system prompt assembly
2026-05-29 01:22:09 +01:00
JanusAsmussen
84e62824f6
fix(anthropic): pass system prompt on resumed claude-cli sessions
...
Summary:
- send Claude CLI system prompt files on resumed turns when backend policy is always
- set Claude CLI default systemPromptWhen to always
- add argv/unit coverage plus live ALPHA-to-BRAVO resume proof for #80374
Verification:
- pnpm test src/agents/cli-runner/helpers.system-prompt-resume.test.ts extensions/anthropic/cli-shared.test.ts src/agents/cli-backends.test.ts test/scripts/test-live-shard.test.ts -- --reporter=verbose
- OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_USE_REAL_HOME=1 OPENCLAW_LIVE_CLI_BACKEND=true OPENCLAW_LIVE_CLI_BACKEND_MODEL=claude-cli/claude-haiku-4-5 node scripts/run-vitest.mjs run --config test/vitest/vitest.live.config.ts src/gateway/gateway-cli-backend.system-prompt-resume.live.test.ts --reporter=verbose
- /Users/steipete/Projects/agent-scripts/skills/autoreview/scripts/autoreview --mode local
- git diff --check
- gitcrawl gh pr checks 86433 --repo openclaw/openclaw --watch=false --required
Co-authored-by: JanusAsmussen <jjasmussen@outlook.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 01:31:13 +01:00
bitloi
dd8aa1dcce
fix: reseed Claude CLI session context on rotation closes #80905
2026-05-13 12:54:40 +01:00
stain lu
74ab62c6a2
fix: pass claude cli thinking effort ( #77410 )
...
Summary:
- Adds a plugin-owned CLI backend argument rewrite hook and wires Anthropic `claude-cli` to translate non-off `/think` levels into Claude Code `--effort`, with docs, changelog, API baseline, and tests.
- Reproducibility: yes. Current main has a high-confidence source reproduction: choose `claude-cli`, set a non ... builds argv from backend args that contain no `--effort` even though `thinkLevel` exists on the run params.
Automerge notes:
- No ClawSweeper repair was needed after automerge opt-in.
Validation:
- ClawSweeper review passed for head be17754009 .
- Required merge gates passed before the squash merge.
Prepared head SHA: be17754009
Review: https://github.com/openclaw/openclaw/pull/77410#issuecomment-4372812685
Co-authored-by: stainlu <stainlu@newtype-ai.org >
2026-05-04 18:13:53 +00:00
Peter Steinberger
f523bbfcd1
fix: align claude cli permissions with exec policy
...
Derive Claude CLI bypass mode from OpenClaw exec YOLO policy, preserve raw Claude permission-mode overrides, update docs/changelog, and cover global/per-agent policy behavior.
2026-04-23 23:11:34 +01:00
Vincent Koc
7d30894c4a
fix(anthropic): stop forcing claude permission bypass
2026-04-23 12:03:00 -07:00
Peter Steinberger
dad4b3e7fb
fix: default claude cli to stdio sessions
2026-04-22 18:38:32 +01:00
Alex Alaniz
6bd64ca4a7
fix: stop marking Claude CLI runs as host-managed
...
Stop injecting CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST into Claude CLI runs and strip inherited/backend overrides before spawn.\n\nAlso repairs the Zalo setup allowlist prompt wiring needed by the current main check gate.\n\nThanks @Alex-Alaniz.
2026-04-10 09:14:15 +01:00
Peter Steinberger
7e7a8d6b0f
fix(claude-cli): harden gateway auth env
2026-04-10 08:10:46 +01:00
Peter Steinberger
ef923805f5
Revert "refactor(cli): remove custom cli backends"
...
This reverts commit 6243806f7b .
2026-04-06 13:40:42 +01:00
Peter Steinberger
2d7157b424
refactor(cli): delete removed backend files
2026-04-05 18:04:48 +01:00
Vincent Koc
7b05253bed
fix(anthropic): strip host otel env from claude cli
2026-04-05 15:27:29 +01:00
Vincent Koc
3b84884793
fix(agents): harden host-managed claude-cli auth path ( #61276 )
2026-04-05 11:02:18 +01:00
Cathryn Lavery
7587e4cac3
fix: ensure bypassPermissions when custom CLI backend args override defaults ( #61114 )
...
* fix: ensure bypassPermissions on custom CLI backend args
When users override cliBackends.claude-cli.args (e.g. to add --verbose
or change --output-format), the override array replaces the default
entirely. The normalization step only re-added --permission-mode
bypassPermissions when the legacy --dangerously-skip-permissions flag
was present — if neither flag existed, it did nothing.
This causes cron and heartbeat runs to silently fail with "exec denied:
Cron runs cannot wait for interactive exec approval" because the CLI
subprocess launches in interactive permission mode.
Fix: always inject --permission-mode bypassPermissions when no explicit
permission-mode flag is found in the resolved args, regardless of
whether the legacy flag was present.
* test(anthropic): add claude-cli permission normalization coverage
* fix(test-utils): include video generation providers
* fix: preserve claude-cli bypassPermissions on custom args (#61114 ) (thanks @cathrynlavery)
---------
Co-authored-by: Shadow <hi@shadowing.dev >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-04 21:55:14 -05:00