@remembrance-ai/opencode-plugin 0.1.77 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,11 +11,12 @@ REST/HTTPS, skill-only installs, enterprise org keys, local identity, and common
11
11
  Cursor, Gemini, or another agent.
12
12
  - The user has an enterprise/org API key and needs to make an agent use
13
13
  org-scoped skills or private overlays.
14
- - MCP tools such as run_connection_doctor, get_connection_status, query_skills, list_skills,
15
- invoke_skill, submit_query_feedback, submit_feedback, submit_remembrance,
16
- propose_private_skill, queue_private_skill_import, report_task_outcome,
17
- get_value_proof, get_skill, get_resource, or bootstrap_agent_identity are
18
- missing.
14
+ - MCP tools such as run_connection_doctor, get_connection_status, query_skills,
15
+ list_skills, invoke_skill, submit_query_feedback, submit_feedback,
16
+ report_task_outcome, get_value_proof, get_skill, or get_resource are missing.
17
+ Local plugins additionally expose capture_learning and the exact private
18
+ lesson/skill draft actions; hosted MCP retains submit_remembrance and
19
+ propose_private_skill because it has no durable device outbox.
19
20
  - A native plugin appears installed but hooks, trust prompts, or MCP tools do
20
21
  not work.
21
22
  - A request fails with 401, 403, 404, 413, 422, 429, or a missing-key error.
@@ -67,15 +68,15 @@ organization scope or anonymous scope; any active key for that organization is
67
68
  valid. Identical retries are
68
69
  safe, but later changed judgments conflict. Query receipts expire after 30 days
69
70
  by default. Use submit_feedback only after actually using a skill, and pass the
70
- same `query_id` and `result_id` so the surfaced-to-use funnel closes. The server automatically
71
- collects query-fit profiles, shadow-evaluates them, and trains a pairwise
72
- reranker only from diverse authenticated organization-key comparisons between
73
- public results. Anonymous feedback remains low weight, never trains the shared
74
- model, and never directly affects organization rankings; self-reported agent IDs
75
- do not establish identity. Private organization comparisons remain
76
- organization-scoped, and labels rerank candidates rather than rewriting
77
- content-derived embeddings. Fresh-feedback gates promote improvements and roll
78
- back regressions automatically.
71
+ same `query_id` and `result_id` so the surfaced-to-use funnel closes.
72
+ Organization verdicts shape only that organization's rankings unless its admin
73
+ opts in to shared learning, which shares only weekly counts per public skill
74
+ version. Anonymous feedback remains low weight, never trains a shared model, and
75
+ never directly affects organization rankings; self-reported agent IDs do not
76
+ establish identity. No learned reranker is trained or served. Labels adjust
77
+ bounded retrieval profiles rather than rewriting content-derived embeddings.
78
+ Retrieval profiles move through collecting, shadow and active stages
79
+ automatically and do not change global skill usefulness.
79
80
 
80
81
  When a high, accepted, current, non-high-risk result has fresh grade A/B proof
81
82
  for the exact skill version, observed model revision, reasoning effort, task
@@ -127,12 +128,12 @@ Codex requires it.
127
128
  Codex will not execute plugin hooks until their exact definitions are trusted.
128
129
  In the Codex window opened by the installer, if Codex shows a **Hooks need
129
130
  review** screen, choose **Review hooks** and trust only the Remembrance
130
- `SessionStart`, `UserPromptSubmit`, `PostToolUse`, and `Stop` hooks.
131
- If no review screen appears, continue: Codex may be reusing an existing valid
132
- trust decision. Changed hook definitions show the same review screen again;
133
- never use the automation-only trust bypass for normal installation. Fully
134
- restart Codex, submit one prompt, use one Remembrance tool, complete one turn,
135
- and run `run_connection_doctor`.
131
+ `SessionStart`, `UserPromptSubmit`, `PostToolUse`, `Stop`, and
132
+ `SubagentStop` hooks. If no review screen appears, continue: Codex may be
133
+ reusing an existing valid trust decision. Changed hook definitions
134
+ show the same review screen again; never use the automation-only trust bypass
135
+ for normal installation. Fully restart Codex, submit one prompt, use one
136
+ Remembrance tool, complete one turn, and run `run_connection_doctor`.
136
137
 
137
138
  OpenClaw:
138
139
 
@@ -144,13 +145,18 @@ openclaw remembrance setup
144
145
  If ClawHub search shows multiple Remembrance matches, use the official package
145
146
  that points to "dreamarkinc/remembrance-skills", mentions the Remembrance agent
146
147
  skill/resource service, and exposes the expected Remembrance MCP tools such as
147
- run_connection_doctor, get_connection_status, query_skills, list_skills, invoke_skill,
148
- submit_query_feedback, submit_remembrance, get_skill, and get_resource, plus
149
- report_task_outcome and get_value_proof. Do not install
148
+ run_connection_doctor, get_connection_status, query_skills, list_skills,
149
+ invoke_skill, submit_query_feedback, capture_learning,
150
+ submit_private_lesson_candidate, submit_private_skill_candidate, get_skill, and
151
+ get_resource, plus report_task_outcome and get_value_proof. Do not install
150
152
  unrelated roots, genealogy, ancestry, or memorial packages.
151
153
 
152
154
  The setup command preserves existing OpenClaw settings, enables conversation
153
155
  access, and registers the bundled local MCP by its installed absolute path.
156
+ Before that grant, OpenClaw already runs the plugin's prompt, tool and
157
+ subagent-end hooks and holds only its completion hook (before_agent_finalize):
158
+ the prompt hook reads each prompt and, unless `REMEMBRANCE_AUTO_QUERY=0`,
159
+ sends a reusable-looking prompt, redacted, as a registry query.
154
160
  In centrally managed environments, apply this equivalent configuration in
155
161
  "~/.openclaw/openclaw.json":
156
162
 
@@ -269,12 +275,13 @@ Remembrance; do not classify it as a Remembrance rejection.
269
275
 
270
276
  ### Organization-private lesson autopilot
271
277
 
272
- Routine organization lessons use one narrow, reviewable write instead of a
273
- broad remembrance payload. The local plugin first calls
274
- `prepare_private_lesson_candidate`. That tool generalizes, canonicalizes, and
275
- redacts a failure, correction, or reusable workflow lesson in memory; encrypts
276
- only the canonical safe record in a local outbox; and returns a draft ID. It
277
- never writes the original input to disk, logs, telemetry, or error output. Tags
278
+ Routine organization learning uses one local router and narrow, reviewable
279
+ network writes instead of broad contribution payloads. The local plugin calls
280
+ `capture_learning`, which selects a compact lesson, complete private skill,
281
+ or preference route. For a lesson it generalizes, canonicalizes, and redacts in
282
+ memory, encrypts only the canonical safe record in a local outbox, and returns
283
+ a draft ID. It never writes the original input to disk, logs, telemetry, or
284
+ error output. Tags
278
285
  use an open, bounded lowercase slug vocabulary; new technical terms survive,
279
286
  while malformed or privacy-sensitive tags hold the draft instead of being
280
287
  silently removed.
@@ -357,8 +364,11 @@ processor, a Codex administrator should do all of the following:
357
364
  then allow only `remembrance.dev`. Hosted MCP does not need shell-network
358
365
  permission.
359
366
  4. Keep the organization API key scoped to `agent:query` and
360
- `submission:create`; use `propose_private_skill` for repository-derived
361
- skills so the destination cannot silently become public.
367
+ `submission:create`. Local plugins route repository-derived skills through
368
+ `capture_learning.private_skill` and the exact
369
+ `submit_private_skill_candidate` action. Hosted/raw MCP clients use
370
+ `propose_private_skill`; both paths are organization-private and cannot
371
+ silently become public.
362
372
 
363
373
  With an organization key, generic `propose_skill_idea` submissions also stay
364
374
  inside that organization's review queue. Never remove, suppress, or bypass the
@@ -407,12 +417,19 @@ enabled_tools = [
407
417
  "submit_feedback",
408
418
  "submit_preference_compatibility_feedback",
409
419
  "report_task_outcome",
410
- "submit_remembrance",
411
- "propose_private_skill",
412
420
  "submit_suggestion",
413
421
  "record_preference",
414
422
  "link_current_installation",
415
423
  "submit_private_lesson_candidate",
424
+ "acknowledge_feedback_denial",
425
+ "decline_pending_action",
426
+ "capture_learning",
427
+ "inspect_private_learning_outbox",
428
+ "submit_private_skill_candidate",
429
+ "retry_private_lesson_candidate",
430
+ "delete_private_lesson_candidate",
431
+ "retry_private_skill_candidate",
432
+ "delete_private_skill_candidate",
416
433
  ]
417
434
  default_tools_approval_mode = "writes"
418
435
  ~~~
@@ -422,12 +439,14 @@ the vetted Remembrance plugin hooks permitted or deploy equivalent managed
422
439
  query/completion hooks; otherwise MCP calls may work while the query and
423
440
  feedback reminders never run.
424
441
 
425
- The MCP annotation for `propose_private_skill` is non-read-only and
442
+ The hosted/raw MCP annotation for `propose_private_skill` is non-read-only and
426
443
  closed-world: it makes a network request, but can change only the authenticated
427
444
  organization's private review queue and cannot change publicly visible internet
428
- state. Closed-world does not mean zero-network. Only
429
- `queue_private_skill_import` is a local, zero-network handoff tool, and it
430
- should run only when an organization admin explicitly requests that handoff.
445
+ state. Closed-world does not mean zero-network. Local plugins replace that broad
446
+ payload with `capture_learning.private_skill` and the exact
447
+ `submit_private_skill_candidate` action. Only `queue_private_skill_import`
448
+ is a local, zero-network handoff tool, and it should run only when an
449
+ organization admin explicitly requests that handoff.
431
450
 
432
451
  Example text to merge into the tenant-specific guardian policy:
433
452
 
@@ -496,8 +515,9 @@ data-governance policy decides whether repository-derived content may leave the
496
515
  workspace. Use the host-specific controls below; do not use a wildcard server,
497
516
  all-network rule, or blanket permission bypass.
498
517
 
499
- The recommended organization allowlist includes discovery, direct skill use,
500
- bounded feedback/outcomes, and organization-private contribution:
518
+ Hosted MCP cannot retain an encrypted device outbox, so its recommended
519
+ organization allowlist includes discovery, direct skill use, bounded
520
+ feedback/outcomes, and the existing organization-private contribution calls:
501
521
 
502
522
  ~~~text
503
523
  get_connection_status
@@ -514,23 +534,56 @@ submit_query_feedback
514
534
  submit_feedback
515
535
  submit_preference_compatibility_feedback
516
536
  report_task_outcome
537
+ submit_suggestion
538
+ record_preference
539
+ link_current_installation
540
+ submit_private_lesson_candidate
517
541
  submit_remembrance
518
542
  propose_private_skill
543
+ ~~~
544
+
545
+ Local plugin and command-based MCP hosts should instead use the version-matched
546
+ capture allowlist. It preserves query-fit feedback, routes reusable learning
547
+ through `capture_learning`, and exposes both exact draft submission actions:
548
+
549
+ ~~~text
550
+ get_connection_status
551
+ run_connection_doctor
552
+ query_skills
553
+ list_skills
554
+ invoke_skill
555
+ get_effective_preferences
556
+ get_private_lesson_policy
557
+ get_skill
558
+ get_resource
559
+ get_value_proof
560
+ submit_query_feedback
561
+ submit_feedback
562
+ submit_preference_compatibility_feedback
563
+ report_task_outcome
519
564
  submit_suggestion
520
565
  record_preference
521
566
  link_current_installation
522
567
  submit_private_lesson_candidate
568
+ acknowledge_feedback_denial
569
+ decline_pending_action
570
+ capture_learning
571
+ inspect_private_learning_outbox
572
+ submit_private_skill_candidate
573
+ retry_private_lesson_candidate
574
+ delete_private_lesson_candidate
575
+ retry_private_skill_candidate
576
+ delete_private_skill_candidate
523
577
  ~~~
524
578
 
525
- It intentionally omits `propose_skill_idea`, `submit_resource`,
579
+ Both defaults intentionally omit `propose_skill_idea`, `submit_resource`,
526
580
  `submit_resource_review`, `request_attestation_challenge`, and
527
581
  `register_agent_key`. Add those dual-scope/public, resource, or identity tools
528
582
  only when the organization explicitly approves them. With a verified
529
583
  organization key, `propose_skill_idea` remains private, but it is excluded from
530
584
  the managed default because the same tool creates a public candidate when used
531
- anonymously. `bootstrap_agent_identity` and
532
- `queue_private_skill_import` are local-only tools and never belong in a
533
- hosted MCP allowlist.
585
+ anonymously. `bootstrap_agent_identity` and `queue_private_skill_import` are
586
+ optional local-only tools and never belong in a hosted MCP allowlist.
534
587
 
535
588
  ### Approve Claude Code
536
589
 
@@ -586,12 +639,12 @@ Merge this into managed settings:
586
639
  "mcp__remembrance__submit_feedback",
587
640
  "mcp__remembrance__submit_preference_compatibility_feedback",
588
641
  "mcp__remembrance__report_task_outcome",
589
- "mcp__remembrance__submit_remembrance",
590
- "mcp__remembrance__propose_private_skill",
591
642
  "mcp__remembrance__submit_suggestion",
592
643
  "mcp__remembrance__record_preference",
593
644
  "mcp__remembrance__link_current_installation",
594
645
  "mcp__remembrance__submit_private_lesson_candidate",
646
+ "mcp__remembrance__submit_remembrance",
647
+ "mcp__remembrance__propose_private_skill",
595
648
  ]
596
649
  },
597
650
  "sandbox": {
@@ -647,12 +700,19 @@ narrow server/tool set:
647
700
  "submit_feedback",
648
701
  "submit_preference_compatibility_feedback",
649
702
  "report_task_outcome",
650
- "submit_remembrance",
651
- "propose_private_skill",
652
703
  "submit_suggestion",
653
704
  "record_preference",
654
705
  "link_current_installation",
655
706
  "submit_private_lesson_candidate",
707
+ "acknowledge_feedback_denial",
708
+ "decline_pending_action",
709
+ "capture_learning",
710
+ "inspect_private_learning_outbox",
711
+ "submit_private_skill_candidate",
712
+ "retry_private_lesson_candidate",
713
+ "delete_private_lesson_candidate",
714
+ "retry_private_skill_candidate",
715
+ "delete_private_skill_candidate",
656
716
  ],
657
717
  "trust": false
658
718
  }
@@ -671,9 +731,10 @@ and [MCP settings](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-ser
671
731
 
672
732
  ### Approve OpenClaw
673
733
 
674
- Pin the exact plugin id, enable its conversation hooks, and filter the saved
675
- Remembrance MCP server. `plugins.deny` wins over the allowlist. The `minimal`
676
- tool profile hides MCP tools, and `tools.deny: ["bundle-mcp"]` disables them:
734
+ Pin the exact plugin id, grant its conversation access (without it, OpenClaw
735
+ holds only the completion hook), and filter the saved Remembrance MCP server.
736
+ `plugins.deny` wins over the allowlist. The `minimal` tool profile hides
737
+ MCP tools, and `tools.deny: ["bundle-mcp"]` disables them:
677
738
 
678
739
  ~~~json
679
740
  {
@@ -706,12 +767,19 @@ tool profile hides MCP tools, and `tools.deny: ["bundle-mcp"]` disables them:
706
767
  "submit_feedback",
707
768
  "submit_preference_compatibility_feedback",
708
769
  "report_task_outcome",
709
- "submit_remembrance",
710
- "propose_private_skill",
711
770
  "submit_suggestion",
712
771
  "record_preference",
713
772
  "link_current_installation",
714
773
  "submit_private_lesson_candidate",
774
+ "acknowledge_feedback_denial",
775
+ "decline_pending_action",
776
+ "capture_learning",
777
+ "inspect_private_learning_outbox",
778
+ "submit_private_skill_candidate",
779
+ "retry_private_lesson_candidate",
780
+ "delete_private_lesson_candidate",
781
+ "retry_private_skill_candidate",
782
+ "delete_private_skill_candidate",
715
783
  ]
716
784
  }
717
785
  }
@@ -838,11 +906,29 @@ Cursor MCP fallback config (use this only when plugin install is unavailable):
838
906
  }
839
907
  ~~~
840
908
 
841
- Codex local MCP config uses "mcp_servers", not "mcpServers":
909
+ Node.js runtime for command-based MCP: a bare `command` such as `node` is
910
+ looked up on a PATH the host provides (for Claude Code, the PATH of the Claude
911
+ Code process). A host started from the Dock, Finder or an IDE may not have your
912
+ shell's PATH, so a Node.js installed by nvm, fnm, volta, asdf, nodenv or mise
913
+ can be missing from it; the symptom is `spawn node ENOENT` or "No such file or
914
+ directory". Use Node.js 18.17.0 or newer by its absolute path (the
915
+ output of `command -v node` in a terminal) in manual entries. The Claude Code,
916
+ VS Code and Codex plugins start their hooks and bundled MCP server, and the
917
+ Cursor plugin its hooks, through `scripts/node-launcher`, which uses
918
+ `REMEMBRANCE_NODE` when it is set, else `node` on PATH, else Node.js
919
+ 18.17.0+ from nvm, volta, fnm, n, asdf, nodenv, mise, Homebrew, `/usr/local`
920
+ or `/usr/bin`. In Claude Code, set `REMEMBRANCE_NODE=/absolute/path/to/node`
921
+ in the `env` map of `~/.claude/settings.json`; it reaches the hooks and the
922
+ bundled MCP server. Fully restart the host after a fix. `npx` starts `node`
923
+ through PATH, so an `npx` entry also needs that Node.js directory first in the
924
+ entry's environment PATH.
925
+
926
+ Codex local MCP config uses "mcp_servers", not "mcpServers"; use absolute paths
927
+ for both the Node.js executable and the server:
842
928
 
843
929
  ~~~toml
844
930
  [mcp_servers.remembrance]
845
- command = "node"
931
+ command = "/absolute/path/to/node"
846
932
  args = ["/absolute/path/to/remembrance-mcp.mjs"]
847
933
 
848
934
  [mcp_servers.remembrance.env]
@@ -851,15 +937,19 @@ REMEMBRANCE_API_KEY = "YOUR_ORG_KEY"
851
937
  ~~~
852
938
 
853
939
  OpenClaw MCP config uses "mcp.servers", not "mcpServers" or "mcp_servers".
854
- OpenClaw does not define a portable plugin-root variable for MCP args; use an
855
- absolute path or the OpenClaw MCP CLI. Also keep the enterprise key in the MCP
856
- server env if OpenClaw does not inherit shell exports:
940
+ OpenClaw does not define a portable plugin-root variable for MCP args; use
941
+ absolute paths for the Node.js executable and the server, or run
942
+ `openclaw remembrance setup`, which registers the absolute Node.js that runs
943
+ OpenClaw. Also keep the enterprise key in the MCP server env if OpenClaw does
944
+ not inherit shell exports:
857
945
 
858
946
  ~~~json
859
947
  {
860
948
  "mcp": {
861
949
  "servers": {
862
950
  "remembrance": {
951
+ "command": "/absolute/path/to/node",
952
+ "args": ["/absolute/path/to/remembrance-mcp.mjs"],
863
953
  "env": {
864
954
  "REMEMBRANCE_API_URL": "https://remembrance.dev",
865
955
  "REMEMBRANCE_API_KEY": "YOUR_ORG_KEY"
@@ -893,15 +983,22 @@ which Codex, Claude Code, Cursor, OpenClaw, VS Code, OpenCode, or MCP host must
893
983
  be reloaded, reopened, or fully restarted. Set
894
984
  `REMEMBRANCE_CLIENT_UPDATE_CHECK=0` to disable only this advisory check.
895
985
 
986
+ Set `REMEMBRANCE_SESSION_SKILLS=0` to stop the Claude Code, VS Code, Codex, and
987
+ Cursor session-start hooks from asking the agent to load the organization's
988
+ session skills.
989
+
896
990
  ## Validate after setup
897
991
 
898
992
  1. Start a fresh agent session.
899
- 2. Check whether Remembrance MCP tools are visible. Expected tools include
900
- run_connection_doctor, get_connection_status, query_skills, list_skills, invoke_skill, get_skill,
901
- get_resource, submit_query_feedback, submit_feedback, submit_remembrance,
902
- propose_private_skill, report_task_outcome, get_value_proof, and
903
- bootstrap_agent_identity. Local MCP also exposes
904
- queue_private_skill_import. Clients
993
+ 2. Check whether Remembrance MCP tools are visible. Every path should include
994
+ run_connection_doctor, get_connection_status, query_skills, list_skills,
995
+ invoke_skill, get_skill, get_resource, submit_query_feedback,
996
+ submit_feedback, report_task_outcome, and get_value_proof. A current local
997
+ plugin/MCP must also expose capture_learning plus
998
+ submit_private_lesson_candidate and submit_private_skill_candidate. Hosted
999
+ and legacy MCP instead expose submit_remembrance and propose_private_skill.
1000
+ Optional local administration tools such as bootstrap_agent_identity and
1001
+ queue_private_skill_import are not installation-health requirements. Clients
905
1002
  with MCP resource discovery should also expose paginated
906
1003
  `remembrance://skills/{slug}` handles.
907
1004
  3. Call run_connection_doctor and require `safe_to_query: true`. Confirm the
@@ -936,18 +1033,23 @@ be reloaded, reopened, or fully restarted. Set
936
1033
  completion or abandonment with report_task_outcome, then ask it to submit
937
1034
  feedback with the same query/result IDs. When a qualified potential-savings
938
1035
  estimate exists, fetch and verify its signed token-only proof.
939
- A complete loop has a feedback/remembrance receipt such as a public id or
940
- verification job id. Hooks should help, but explicit receipts prove the
941
- agent actually contributed evidence.
942
- 11. Ask the agent to submit a `failure_report` remembrance for one reusable
943
- failure lesson: a self-correction, a user-caught miss, a CI/deploy failure,
944
- or a release/versioning miss. This validates non-plugin contribution paths
945
- that have no Stop hook.
1036
+ A complete loop has a feedback receipt. Query-fit feedback remains separate:
1037
+ submit_query_feedback judges search matches, while submit_feedback records
1038
+ usefulness only after actual use.
1039
+ 11. Ask the agent to capture one disposable redacted failure lesson: a
1040
+ self-correction, a user-caught miss, a CI/deploy failure, or a
1041
+ release/versioning miss. On current local MCP, require
1042
+ `capture_learning.lesson` followed by the exact returned action and a
1043
+ private draft receipt. On hosted/legacy MCP, require a `failure_report`
1044
+ through submit_remembrance. This validates both capability states without
1045
+ mixing their schemas.
946
1046
  12. If using an org key, list and invoke an org-only skill or private overlay
947
1047
  that should not appear anonymously.
948
- 13. With an organization submission key, submit one disposable redacted skill
949
- through propose_private_skill and verify it appears only in that
950
- organization's review queue. In a separate negative scenario, simulate a
1048
+ 13. With an organization submission key, submit one disposable redacted skill.
1049
+ Current local MCP must use `capture_learning.private_skill` followed by
1050
+ submit_private_skill_candidate; hosted/legacy MCP must use
1051
+ propose_private_skill. Verify it appears only in that organization's review
1052
+ queue. In a separate negative scenario, simulate a
951
1053
  host-policy denial and verify the plugin reports the fixed content-free alert
952
1054
  once, persists no blocked content, performs no retry, and creates no handoff.
953
1055
  Test queue_private_skill_import only as a separate administrator-requested
@@ -989,10 +1091,20 @@ be reloaded, reopened, or fully restarted. Set
989
1091
  - "Hosted MCP works but plugin does not": use hosted MCP as a temporary
990
1092
  fallback, then inspect plugin marketplace install, trust approval, and
991
1093
  runtime-specific config shape.
1094
+ - "An older integration rejects the private-learning capture contract": as a
1095
+ temporary compatibility downgrade only, set
1096
+ `REMEMBRANCE_ENABLE_LEGACY_BROAD_WRITES=1` and restart the local MCP process.
1097
+ This restores the legacy broad contribution tools and
1098
+ `submit_feedback.lesson`, and stops advertising private-learning capture so
1099
+ server instructions and schemas remain aligned. Current local plugins should
1100
+ leave this unset; do not use it as routine authentication or host-policy
1101
+ repair.
992
1102
  - "OpenClaw search found another Remembrance package": do not install it unless
993
1103
  it points to dreamarkinc/remembrance-skills and exposes the Remembrance MCP
994
1104
  tools.
995
- - "OpenClaw hooks do nothing": run "openclaw remembrance setup", verify
1105
+ - "OpenClaw hooks do nothing": without allowConversationAccess, OpenClaw holds
1106
+ only the completion hook (before_agent_finalize) and still runs the prompt,
1107
+ tool and subagent-end hooks. Run "openclaw remembrance setup", verify
996
1108
  allowConversationAccess is true, run "openclaw mcp doctor remembrance
997
1109
  --probe", and restart OpenClaw after plugin install/config changes.
998
1110
  - "Claude desktop ignores env vars": put env in the user-scoped Claude settings