#clawtributors
1 messages Β· Page 4 of 1
Attached in Summary section. https://github.com/vezaynk/openclaw/pull/1 Still need to do some PR verification though
watched the video, interesting feature. I didn't know telegram could do inline queries like that. read some / skimmed rest of the code and first feedback is: you better vibe up some tests homie π i can't comment as to whether this feature matches the vision doc (I think it fits under - Improving support for major messaging channels (and adding a few high-demand ones) in Next Priorities). The 10 minute timer caught my eye and I'm still dizzy from it.
@rugged light Hi just pinging with https://github.com/openclaw/openclaw/pull/27343 was hoping to get @ClawTributors role as per FAQ.
Also is this the right place to bump a feature request PR that fixes it.
https://github.com/openclaw/openclaw/pull/27812 in regards to this Feature request https://github.com/openclaw/openclaw/issues/9837
Opened 2 new PR's addressing open issues related to Gemini embedding.
PR #28361 - fixes the Gemini batch embedding infinite polling loop (related issue #15738).
- Reads metadata.state instead of status.state so async batch jobs actually complete instead of polling forever.
PR #28369 - adds retry with backoff to Gemini synchronous embedding calls (related issue #15738, #26069).
- Gemini was the only provider without retry β now 429s and 5xx errors get 3 attempts with exponential backoff instead of crashing immediately.
Fix for breaking change in .26 that broke replies in Mattermost: https://github.com/openclaw/openclaw/pull/28477
i'm wondering if someone can figure out how to add this as a feature https://github.com/pyro0ownz/keyrotator/blob/main/key_rotator.py and https://github.com/pyro0ownz/Keymanager i noticed when you try to use more than one key the instance cries about api key limit hit but then when you use a single key it works whats the deal with that
i'm hoping i dont have to use claude code gemini cli and codex to tear apart the codebase and fix it manually
Hi folks! I have consistent CPU usage spikes every time claw starts. I profiled the problem and had codex fix it. The issue is mainly because the entire plugin-sdk is monolithically loaded every time. The PR splits this into lazily-loaded components, fixing the issue (confirmed with a local build)
Could any maintainers please look at it? Thank you! https://github.com/openclaw/openclaw/pull/28620
folks posting their prs in here right after they were told not to by a maintainer : please dont do that
i'm not trying to minimod, but i understand why it's worth it to keep this channel open for discussions instead
give more than you take y'all π¦
I've made a bit of a monster sized change so before it even gets reviewed I thought I'd ask how much people would want this feature or if I should just maintain my own fork.
I've added a bwrap based backend for sandboxing as it allows unprivileged sandboxing with user namespaces quite easily (I'm running the gateway in a container with no permissions at all). Is anyone else interested in this use-case?
The changes are here: https://github.com/openclaw/openclaw/pull/28599 (including PR to provide context with the PR description, but if posting PR links is discouraged let me know)
Sorry I had missed this - deleted my post.
This PR has been open for about a week, so I wanted to follow up politely.
Iβve been using and maintaining this feature heavily in daily workflows, and Iβve done extensive manual testing across multiple agents. In practice, it significantly improves my Feishu doc workflow and overall user experience.
Iβd really appreciate a merge when possible, so I donβt need to keep rebasing and adapting it against main repeatedly.
For current status: the only remaining CI issue appears to be unrelated infrastructure/runner instability (not a functional regression in this PR).
Thanks a lot for your time and for maintaining OpenClaw π
i can't find evidence for this in the current codebase but i'll keep looking; if you are able to profile the call stack to identify the source that would be great!
I can't find it in the code either, I only see the effects:
...
Feb 27 13:17:40 DietClaw snoopy[216894]: rp=openclaw-gatewa/185565 uid=0 tty=(none) cmdline=ip neigh show
Feb 27 13:17:55 DietClaw snoopy[216902]: rp=openclaw-gatewa/185565 uid=0 tty=(none) cmdline=ip neigh show
Feb 27 13:18:10 DietClaw snoopy[216910]: rp=openclaw-gatewa/185565 uid=0 tty=(none) cmdline=ip neigh show
...
I suspect it comes from one of the dependencies, but my node.js/Typescript knowledge is very spotty in that area. I'm a Perl/Java guy...
(And yes, uid=0. openclaw has a whole VM for itself here.)
Is it potentially bonjour for the mDNS advertiser?
can you try tracing it?
something like
readlink -f /proc/185565/exe
tr '\0' ' ' </proc/185565/cmdline; echo
pwdx 185565
systemctl cat openclaw-gateway 2>/dev/null || systemctl --user cat openclaw-gateway
strace -f -e execve -s 200 -p 185565
on linux we use avahi-browse, not ip neigh show
it also repeats every 15s; i could only find code that uses either 30s or 60s in the codebase for discovery
which makes me think it's something else triggering that
I've injected a fake "ip" that outputs damamged data in hope of triggering an error, but no luck that way
src/infra/bonjour.ts uses @homebridge/ciao
but not sure if that codepath is being triggered
getLinuxNetworkInterfaces()? ok, that's not something I'd do with neigh ("link" is for that...), but ok. But every 15 seconds? How often do people add and remove network interfaces from their computers usually?
matches the 15s too!
ok, I dropped them a "support request" asking why. Thanks gustavo and bi...etc.
I wouldn't really care if the information "ip neigh" spits out wasn't a list of IPs of other hosts on the attached network. That's very spy-y and with the current efforts of preventing any data extrusion in openclaw... If it was spamming "ip link"...yeah, whatever.
You could just disable bonjour, do you really need it?
I didn't even know bonjour was in there. And I don't know what it even does for openclaw...
it's a convenience feature for the client apps to find a gateway on lan
you probably don't need it
with how lan connectivity now needs ssl and it's a pain and a half to get a cert for a non-routable IP address...no, I'm not planning on using any of the apps that way. I'm fine with ssh tunnels---they don't need certs.
Hey @untold pollen, I've got a few open PRs for Android and wanted to check in before rebasing. The big one is #24239 (iOS invoke parity...). Your device/notifications/camera work superseded my DeviceStatusHandler, and you also introduced InvokeCommandRegistry which changes how commands register, so I'll need to refactor. The 4 remaining command groups (contacts, calendar, photos, motion) are still new though.
Before I rebase, is this something you'd be willing to review and merge if it's clean? I have 6 more PRs that get it closer to iOS parity, including wake word overhaul, talk mode, collapsible blocks in chat, etc. (https://github.com/openclaw/openclaw/pulls/gregmousseau)
Hi, thank you for the PR. I'll take a look for sure. Though right now I'd really appreciate some help for the talk mode. I'm happy to take care of the command groups though. I kind of need to manually test everything with a physical device and I have a few things in progress (that I have manually verified) so I'm a bit more inclined to merge those first
Great, thanks. I can focus on talk mode. I was actually able to have a useful conversation while driving last night, but could use a couple more tweaks. I also built an APK last week for others to easily test, I'll do that again so it's easy to get others with android devices to test
Ah please don't distribute any APKs. We'll try to make it available on Play Store Open Testing soon
Unless users build it themselves sharing non-official APKs is not something I recommend
Agree. It definitely needs some of these updates before going to the play store, but that should help speed up development on this
Can I ask whats the vision for the talk mode ? Still only Elevenlabs ?
ElevenLabs with a fallback for the device's TTS is what we have so far
Ideally I would love to have OpenAI realtime working
But that's a much larger change and probably not entirely supported by the existing harness
BTW @inner ledge I'm merging a lot of Android stuff lately so there will probably be a lot of merge conflicts. I would really appreciate smaller diffs if possible
haha sure. I started with small diffs, and they got progressivly bigger. Let me redo all of them to make your life easier!
Start with voice mode for now! I got the rest
yes I know current setup, i was trying to get discord voice chat to be close to talk mode got decent result, but still the android only supports elevenlabs, whats the current stopper for openai stream on android ?
Also is there a reason why it's not unified between macos/ios/android and other plugins?
Just turn on auto generate certificate
And LAN has needed ssl for at least a month. It was like that when I installed it
I've got some PR's here:
tui theme command - https://github.com/openclaw/openclaw/pull/26279
migrate plugins.allow when extensions exist - https://github.com/openclaw/openclaw/pull/27766
clarify/persist node exec approvals target in dashboard - https://github.com/openclaw/openclaw/pull/27180
rebased main and those windoes CI checks that were broken yesterday are now passing
I built a local dashboard to keep tabs on my AI agents β and itβs finally in good enough shape to share.
OpenClaw Dashboard lets you see everything your local AI setup is doing β configs, sessions, cron jobs, API costs, logs β all from one place. Itβs completely selfβhosted and never sends data anywhere. No telemetry, no cloud, no weird background syncs. Everything stays on your machine.
It has 10 pages so far:
System Health: Quick read on gateways, channels, disk space, cron jobs, and process health.
API Cost Tracker: Daily spending, model breakdowns, budget limits, and pricing comparisons for 14 models (OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek, etc.).
Session Browser: Browse conversations with token counts and tool calls.
Cron Monitor: See what jobs actually ran and when.
Gateway Logs: Clean, filterable log viewer.
Configuration: Full config with secrets automatically redacted.
Folder Structure: Interactive D3.js tree of your entire deployment.
Plus: a few smaller ones like Memory, Timeline, and Agent Roster.
The fun part: itβs pluggable. Every page is just a folder. Drop a new one into /pages/ and it shows up automatically β no backend edits.
A few more details:
Built with Express + D3.js, no React or bundler.
Dark theme.
Securityβaware: binds to 127.0.0.1, redacts sensitive files, and never reads file contents.
Runs with a single command:
text
npm install && npm start
Repo: http://github.com/joydai2026-del/openclaw-dashboard
If you spin it up, Iβd love to hear how it fits into your workflow β or what other pages youβd add.
idk how to bring attention to this new feature proposal, but if anyone has a minute - this thing adds alternative destinations for failures in cronjobs :
still tryna figure out what pr to make
Is this regarding the iOS app being built or Telegram? I made a PR on Telegram iOS app to integrate Siri support... I understand how the Siri intents work if you need someone to work on Siri in the iOS app.
Iβm only handling the Android app for now, I think the iOS is also being rebuilt from the ground up by other maintainers
any idea where I can follow along with this? Just started digging into the iOS app and don't want to start familiarizing myself on an old/deprecated version of the iOS app codebase
I can highly recommend just waiting for the apps to at least go out for testing. Once theyβre stabilised and all major bugs fixed I donβt imagine itβll change too much
Make PRs right now would probably just create more work for maintainers
ah darn, was hoping to start trying to be a contributor/maintainer. But guess I'll have to be patient! Thank you
small bump on this one, could be an issue if someone accidentally "updates" to 2026.02.15. I know you guys are busy, appreciate any reviews I can get!
Reviewing!
Merged, thank you β€οΈ
Hi everyone, I updated my PR https://github.com/openclaw/openclaw/pull/24201 on TPM retry to integrate with pi-ai SDK's retry mechanism. Now detects SDK-internal errors and triggers configurable external retries, mitigating TPM rate limit issues on my end
Hello PR Reviewers/ @untold pollen . I have created a PR to fix the custom provider validation issue coming up when users are using Azure OpenAI endpoints. Based on the api version being used in the code, the request body and the headers needs update. I have segregated the changes for custom providers for azure openai vs non-azure openai endpoints. Kindly review, if this works, Im gonna ask my teammates in office to use openclaw for some of our dev work π :
https://github.com/openclaw/openclaw/pull/29421
Hi @untold pollen , I reported an issue about skill eligibility checks run on gateway host rather than sandbox container and a PR https://github.com/openclaw/openclaw/pull/29313 was raised for this. Considering it's a high severity issue as it blocks core skill functionality in the primary self-hosted deployment, may I ask if someone could help to review the PR and merge it? Thanks
hey @stable pewter , it would be interesting to consider the possibility of basicaclly making a PR channel for all the prs, and keep clawlaborators as the discussion and info place for coordinating a bit more ambitious code improvements and like design principles ... just a thought , btw i'm sending little prayers every night for you about your huge and massive role in this repo - hope you know that π
There is a failing test in the main branch which is failing the PR CIs for all the pull requests:
extensions/feishu/src/client.test.ts > createFeishuWSClient proxy handling > uses proxy env precedence: https_proxy first, then HTTPS_PROXY, then http_proxy/HTTP_PROXY
AssertionError: expected "vi.fn()" to be called with arguments: [ 'http://lower-https:8001' ]
Received:
1st vi.fn() call:
[
Number of calls: 1
β― extensions/feishu/src/client.test.ts:88:37
86|
87| expect(httpsProxyAgentCtorMock).toHaveBeenCalledTimes(1);
88| expect(httpsProxyAgentCtorMock).toHaveBeenCalledWith("http://lowerβ¦
| ^
89| const options = firstWsClientOptions();
90| expect(options.agent).toEqual({ proxyUrl: "http://lower-https:8001β¦
β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―β―[1/1]β―
the best you can do is ignore any un-related tests otherwise you will chase the green light forever , and it's impossible
(my opinion)
Thatβs what we have GitHub for, haha, letβs use that as the source of truth for discussing a given change.
I wonβt speak for other maintainers, but if it touches UI/UX, Agent Workflows (DevX), or Docs, then please feel free to @ me in your PR comment.
https://github.com/openclaw/openclaw/pull/29421
Requesting a review for this PR. Azure Open AI endpoints onboarding has been failing with 400 error, this flow only impacts the onboarding of custom provider for Azure Open AI endpoints.
Hi β I opened a PR to add a DeJoy channel extension (Matrix-compatible): https://github.com/openclaw/openclaw/pull/29589
Would appreciate a maintainer look when possible; happy to address feedback. Could any maintainers please look at it? Thanks.
Merged, thank you β€οΈ
Hi β I opened a PR to add a DeJoy
@dry spruce there are 5k+ PRs open. Please donβt tag maintainers.
Got it, Thx!
Hi Folks, any feedback on https://github.com/openclaw/openclaw/pull/27275 ? It's a bigger add, but I believe a really big value add with some of the bad press around secrets governance.
Hey Folks,
I built a LiveKit voice extension for OpenClaw β real-time voice conversations with a dual-agent architecture.
A fast Python agent (LiveKit Agents) handles STT/TTS/LLM latency, while OpenClaw acts as supervisor for reasoning and tools.
Working today: Deepgram STT Β· ElevenLabs & Hume TTS Β· Groq LLM Β· browser voice UI Β· Cloudflare Quick Tunnel Β· interactive setup wizard
PR: https://github.com/openclaw/openclaw/pull/29351
Still testing other providers (OpenAI Realtime, Cartesiaβ¦) β feedback welcome!
Hi everyone! π
I've submitted my first PR to OpenClaw: https://github.com/openclaw/openclaw/pull/29767
This PR adds documentation for running OpenClaw in a macOS Docker container on Linux/Windows, which enables users without Apple hardware to access macOS-only features like iMessage, screen recording, and other node capabilities.
The Greptile review raised some valid security concerns about third-party image sources and VNC configuration. I'm planning to address these by adding appropriate disclaimers and security warnings.
Would appreciate any feedback or review from maintainers. Thanks!
Updated PR #29767 based on Greptile review feedback - added security disclaimers for third-party resources, fixed link paths, and added VNC/credential warnings. Ready for review!
https://github.com/openclaw/openclaw/pull/29767
Hi reviewers/@untold pollen, quick heads up: I opened a bugfix PR 5 days ago and it hasn't been reviewed yet. The issue is still present in the latest release, so I'd really appreciate a look when you have a moment.
Bugfix PR: https://github.com/openclaw/openclaw/pull/24775
I also have two small documentation-related fixes (lower priority):
https://github.com/openclaw/openclaw/pull/25260
https://github.com/openclaw/openclaw/pull/24868
Any maintainers available for review this PR for adding a new provider (StepFun). It's mid-sized but basically following the patterns of other model providers. I can provide an API key to test the model on OpenClaw. Being testing it on OpenClaw for a while. https://github.com/openclaw/openclaw/pull/27211
please DM me for a test API key to make sure it actually works (without going through the sign-in hassle)
Hey, I found a bug that destroys the system prompt. Plugins donβt have read access, but they have write access. If they write, the system prompt gets destroyed and this is an easy injection point for malicious code. Iβd like to see this get resolved. Can any maintainers help get this through?
https://github.com/openclaw/openclaw/pull/25888
Open to discussion or revisions, just want to see this hole get filled. Thanks.
stop spamming for a review, Peter has already given feedback just wait
to be fair, Peter only addressed the false security implications, not the issue that plugins can replace the prompt but have no access to the old prompt, so they can't edit, but only generate a completely fresh one. Still, @drifting fractal, please remove that security claim from the PR. It has already been disproven and just muddies the waters. I wouldn't even have looked further into the PR the way it's now. Yes, you found a logic gap (assuming my 2-minute look at the calling code didn't miss something), and if you clearly state it, the PR might get noticed again.
Alright, what should I do differently?
we get flagged for CVEs that don't apply in our products, it does take some thinking. Might be nice to have a CVE dashboard if that isn't considered a weakness. E.g. found date, severity, state (pending review, reviewed with estimate, resolved in tag). Sorry I'm here for something else and couldn't resist 2 more pennies to the mix
π Workflow Pattern Exploration β Human-Supervised Orchestration
I'm moving towards a structured workflow pattern on top of OpenClaw where I vibe code with a GPT-ish agent and it does MCP to my OpenClaw server. Would love feedback on whether this aligns with project direction, or interests, or somehow might seem rude.
Concept
-
Low-cost conversational planning layer
- Discuss changes
- Pull GitHub context as needed
- Refine improvement ideas
- Minimize API token burn
-
Explicit human approval
- No execution until approved
-
Structured backlog submission
- Approved items enter a tracked execution queue
- Status queryable
-
Execution agent runs against staging
-
Human review + explicit promotion to production
Goals
- Reduce unnecessary token spend
- Add guardrail clarity
- Introduce lifecycle structure (plan β stage β promote)
- Make OpenClaw viable for production dev workflows
Open Question
Would something like this:
- Fit as a "Supervisor Mode" concept?
- Be better implemented as an MCP-layered workflow?
- Or live outside OpenClaw and call it via API?
Curious how maintainers think about structured lifecycle orchestration on top of the current agent loop.
not just CVEs, but any kind of security fix. What's almost always missing in those PRs/reports is (a) What's the attack vector? and (b) How would a fix discriminate between legitimate user action and an attack? (c) What's the value balance between overblocking legitimate user actions and underblocking attacks? (d) Is this a pebble in a wide-open barn door? i.e. How many other ways of doing bad things does an attacker that can execute this attack have?
For example, "You can type rm -rf * into bash" is a security finding, no arguing here. However, (a) "attacker already has control over the system", (b) "no way", (c) "99.9999+% of blocks would be overblocking", and (d) "yes, very many"
fwiw a lot of the security fixes and reports aren't public and they do have that, yall see the ones that don't follow our existing security policy
Can someone please re-open this? https://github.com/openclaw/openclaw/pull/11444 It's not a plugin, it's the infrastructure so people can add seacrh providers as plugins.
(And if it gets rejected for other reasons, fine. I'd just hate it getting killed by a bot misreading the intention.)
- yep reopened!
- check who added the label that triggered the close not the bot sending the close snippet
Is there any chance somebody can look at this for me? I would like to move away from using the filesystem for storing data and move to using the postgres database that I think most of us have alongside claude. You can set OPENCLAW_DATASTORE=fs or OPENCLAW_DATASTORE=postgres and then set the OPENCLAW_STATE_DB_URL to your postgres url and it'll intercept all filesystem operations and move them into the database instead. This would make it more resilient from a reinstallation point of view as well as making it easier for people running in containers where you don't need to then setup extra persistent volumes docker or pvcs in kubernetes.
It fails some test, but I'm unsure the reason why, it appears like it's a timeout, I've rebased it a couple of times, but if nobody likes the idea, It'd be good to hear some comments if there are any?
I saw it after I wrote the message...and then decided not to edit it. π I mean, you sounded pretty human, but some people still have their doubts...
BTW, if the code in the PR is good, it might be worth merging. The author has kept it alive for ages. I can dig into the code if you want; I think I only had a cursory glance weeks ago.
the tests I think are a little flakey, sometimes I get failures in code that I never touched. Perhaps something was merged that isn't quite right
I made a scanner that follows Peter's security visions. I like it works great.
Oh, my! That's a big one. Looks good from my end (note: green name, not golden one), assuming your design decisions are valid, you found every reference to file access, and it actually works.
my next PR will be about eliminating the gateway token and replacing it with a jwt user auth π
and after that, onboarding wizard in the app, no terminal required
They're not that scary or big though, the postgres datastore branch was annoying because it changed some functions use of async/await and it's just lots of files where it's either added or not. But no real code changes, you know?
For what itβs worth, this will likely either never merge or be a long drawn out process because there are so many third-party things as well as first party things that would all have to be updated
from what I can see, the jwt is a drop in replacement for the gateway token, it's just a string one way or the other. Which means you just update whatever gateway token you've supplied with your jwt token instead. A further update would be to let the admin user create a jwt token that never expires, so nobody has to worry about their linked services suddenly dropping. Can you see any reason why it would be a problem?
I think the benefits are quite obvious though, it would make the system more secure, allow for users to be created on a single openclaw, and allow for permission segregation based on what token you have. So whilst making the foundation more secure, it gives further future options
I'm pretty sure the current pairing using device keys system already does all this. All that is missing is a pre-mapping from tokens to permissions, so you can hand out different tokens that already come with permissions and don't snap to whatever is approved on first contact and bound to the device key. Users is a whole different joblot. At the moment, there is only one user---not because there couldn't be more, but because access to the Agent gives you deep system access already. Only if/when agents are safely locked away in containers would users even make sense. But, to be honest, I think it makes more sense to separate users by having different gateways on different operating system users than locking in agents and trying to prevent them from using each other's resources (think Discord bot tokens, Telegram accounts, and so on).
btw, there is a PR that adds single-use gateway tokens for pairing devices. I find that one interesting, as it removes a big attack surface. Escaped tokens would no longer be useful.
Not to spam but just trying to get some attention here. The Step 3.5 Flash model is the second most used model (as of Feb. 28) and 4th most used monthly for OpenClaw on OpenRouter. https://openrouter.ai/apps?url=https%3A%2F%2Fopenclaw.ai%2F
This PR simplies the onboarding experience for new OpenClaw users who wish to use this model to get started.
The PR is mid-sized but it follows the patterns of other model providers in onboard auth handling and docs with no deviations. All tests passed and greptile rates 5/5. If needed, I can provide an API key for testing the actual model integration.
Appreciate any comments or pointers from maintainers.
Hi Team,
I found a bug that affects the system prompt integrity. Plugins donβt have read access, but they do have write access. When they write, the system prompt can get overridden, which creates an easy injection point for malicious code.
Iβd like to see this resolved. Could any maintainers please help review and move this forward?
Issue: https://github.com/openclaw/openclaw/issues/30402
PR: https://github.com/openclaw/openclaw/pull/30407
Hi everyone, Iβve noticed there are currently over 5k open PRs in the repository. It seems the community might be facing a significant backlog. Are there any existing plans or community-driven solutions to manage this volume? I'm concerned that a long-term backlog might discourage new contributors and create a bottleneck for the project's growth.
this was discussed yesterday in this channel #clawtributors message
yeah I think I'm more interested in replacing the giant global admin key with something that's controlled, revokable, and has a lifetime that could expire than creating users per se. It's just that if we replace it with JWT, then we get user login for free, which means the system basically becomes secure by default instead of "if you have this string, you're admin". Because if the gateway and the control panel required you to create a user and login. You wouldn't have exposed control panels without login control all over the internet. So from that perspective, even though it's "marginal" in terms of utility. It's actually pretty huge in terms of security, you know?
Having a JWT token that expires every 2 hours for example would mean your panel and gateway can't be used until you login again, ot refresh your token, or similar. Even if there is just one user, I think this is just a basic thing we need if we want to make a secure platform.
Have been using it in my bot for a couple of days. It is an absolute improvement - reduced noise in normal channels and centralized all faults into a single one. Life saver!
Hi everyone β Iβm @inkdust2021 on GitHub. I built VibeGuard, a local redaction layer that replaces configured secrets/PII with reversible placeholders before prompts/tool history are sent to LLM providers, then restores them locally (and restores placeholders in tool args before execution).
- Project: https://github.com/inkdust2021/VibeGuard
- OpenCode integration (ecosystem docs entry merged): https://github.com/anomalyco/opencode/pull/15464
Iβd like to contribute a similar capability to OpenClaw. Does OpenClaw have any hook/plugin point to implementoutbound redaction without core changes? If not, whatβs the preferred path here (issue first, design discussion, or asmall draft PR)? Happy to follow your contribution guidelines and adjust config/placeholder format/tests/docs as needed. Thanks!
Is it intended default behaviour in the latest release that chats from the main session from the webui doesn't resolve as an "owner" chat so tools like cron and gateway are disabled?
feels like a breaking change and commands.ownerAllowFrom isn't updated yet in the latest mintlify docs, I have to add
"commands": {
"ownerAllowFrom": [
"openclaw-control-ui"
]
},
to the config
I just noticed the merged fix for the later duplicate issue (commit c58d2aa by @wide geyser ) does not fully cover the earlier fix I made in #24775.
I opened #24775 earlier for #20320 and it still adds broader edge-case handling plus additional tests beyond what landed in c58d2aa.
PR: https://github.com/openclaw/openclaw/pull/24775
Iβve rebased it on main and resolved conflicts. Could a maintainer please have a look?
Thanks a ton @tall prairie , really appreciate the quick reaction! π Can I please also have the clawtributors role now? π
I think mods give them out
Oh sorry, just saw I misread the server FAQs, are the community staff the mods? Just noticed they probably have to be the ones, as all other roles don't match. Maybe it could be useful to also change the FAQs to say "community staff" instead of mod π
As soon as one is online I'll ping them
https://github.com/openclaw/openclaw/pull/30748
Hi PR Reviewers, This is a small PR to support bangla(Bengali, India) locale in the web UI. Would be great if someone could do a review. Provided reference PR as well, took reference of the German locale addition PR.
Also, widingmarcus-cyber has created a PR to unblock a failing test blocking the CI for every PR: https://github.com/openclaw/openclaw/pull/30750
This would unblock a lot of clawtributors whose CI is failing due to the same test. π
can i submit pr?
Hiya! can anyone explain not planned to me?
They need stricter linting focused scope and comprehensive test results. Keep diffs small & single-purpose
Add tests for anything you touch (especially new/fixed behavior)
Explicitly reference prior reviews/feedback in the description
Run/fix lint early (your import reorders show you did)
Use clear, incremental commits
You can find almost everything in doc's. This is what I followed to get a clean 5/5 Greptile confident score.
Please stop submitting PRs for a failing tests. We will resolve any and rebase your PRs
I had raised a different PR(https://github.com/openclaw/openclaw/pull/30748 Web UI locale support addition) where that unrelated test was failing consistently. And it is completely unrelated.
Noticed that it was failing for most PRs raised recently so informed here as one of the contributors raised the PR to fix the failing test. Will keep in mind going forward. π
Did you submit a (large) feature? If so, they mentioned they are focusing on stabilisation for now, so that could explain it. Otherwise I think you should include a link to the PR/issue probably makes it easier
well,I want to contribute a new feature.But I see the CONTRIBUTING.md said I should ask here or the github discussion fisrt,but how can I know if I'm allowed to submit PR?
wtf why did you write exactly the same post as someone else for exactly the same issue but open a new pr for it
Edit: even weirder, this issue/PR is completely unrelated?
Write here or in a github discussion about what kind of feature you want and why, then you'll be able to discuss all the details with the maintainers (like whether they want the feature or not, and how it would be implemented). If they accept the feature, you'll create an issue with the details you discussed, at which point you can submit a PR to implement that feature. Before that, submitting a PR to implement a new feature will probably not get accepted. Just keep in mind they also say on the PR page that OpenClaw is in the stabilization phase, so it may take a while for a new feature to get added.
I want to give my Windows PC Claws π¦
Noctis said there's not a PR for this yet. I'm just waiting for the stabilization period is good then put it forth unless the team implements that through this stabilization period then that'd be dope AF! Thanks for the hard work!
There is windows support already if you use WSL2
I don't unfortunately.
So I guess I'm going to dual boot. I miss Linux.
Why not simply use WSL2 then? It's much easier than setting up dual boot π
Is the "mudrii" who's running the "Triage (community PR sweep)" bot over GitHub here? My notifications are stuffed full of those comments, and so far, not a single one of them has had any useful information. We can all see if a PR is mergeable or conflicting, and if the CI failed or not. GitHub already shows that natively. And listing other PRs that are already linked by earlier comments or in the PR's text itself isn't useful, it only creates more work when reviewing, as you now have to check if those are additional links or not. Dial that thing down, and make it edit its post, not add new ones, at the very least, please.
Nice, I'll do that then! Hellyeah π€πͺπ―π¦
Thank you π
Give it a try, it's really easy. You're welcome! π
π my PR got closed in favor of a PR that doesn't implement my PRs features ... in mine https://github.com/openclaw/openclaw/pull/29145 I could set a global default for all cron failures to go to a specific channel, but in https://github.com/openclaw/openclaw/pull/24789 that superseded it, I have to specify each cron's failure individually ... π
mine was closed my a maintainer ... not gonna help checking it, it was killed.
no, the PR that got merged instead was much wider, included web UI changes, and generally looks like a lot more slopp-ier
ehhh.... guess I'll just need to spend another couple trillion tokens adding my functionality to the meh PR that got merged
well, just based on the PR number, it was done before mine.
as-if the AI will be able to find similar ones π especially since one used the terminology failureAlert, and the other used failureDelivery π
not enough context to know everything about all the 5k PRs out there
yeah, I have the github mcp, similar to gh cli
I mean when you want to start work on something, and you have 5000+ PRs open. You don't have enough context in the LLM to find if there is anything that already implements what you want to start working on.
My method of picking what to work on usually starts with me being annoyed at some existing way that things work, and I just start fixing it.
like it was annoying to receive cron failures into the channels where cron results/successes were supposed to go ... so I worked on that.
or it was annoying that telegram DMs have topics just like groups do, but there is no support for it. so I worked on that.
or it was annoying that the AI decided to put delivery names for telegram like "channel/topic" instead of the actually working "channel:topic", so I worked on that.
for me too! I reverted that whole commit that introduced this stupid thing.
I also have to rip out the signal pnpm dependency that uses "git" to get its code, and to rip out the a2ui build thing. both of those just never work, so I just patch them out completely from my claw.
I actually spent some time changing the way my local pnpm works, added a whole bunch of flags that it may or may not need, to try and not have to do these patches. but this monolithic monster is extremely fragile, and I have been upgrading it about four times already, each time it takes half a day to fix the newly introduced "wtf" things.
I upgrade to git main usually, plus my own patches, which I manage via quilt. Most of which are my pending PRs.
I have a custom way of installing it, using a NixOS module.
I have a systemd unit that does git commit every half an hour for all files, and uploads that to a remote location. But having the ability to "build from scratch" using the exact same version and settings that "worked before" is a godsend. Especially for something that breaks every other day.
even when it works, it barely works π
it loves bombing its own openclaw.json with settings that don't exist from time to time
and the "doctor" solves things by just creating an empty openclaw.json half the time
don't think there is that much difference between the dev and non-dev versions tbh
here I go ... spending more time to implement what I already had implemented and working π€¦ββοΈ ... https://github.com/openclaw/openclaw/pull/31059
I kinda like the whole "greptile + codex leaving review comments" game, but it does take quite a long time to get to a finish line while hopping around them each time they pop with a new insight
Good night! its not just the CI tests, codex and greptile keep finding new nitpicks ...
Hey π I have an open PR that could use a review when someone has a moment: #29985 β adds api.resetSession(key,
reason?) to the Plugin SDK.
It extracts the existing sessions.reset logic into a shared helper so plugins can programmatically reset sessions with
a 5-second cooldown to prevent loops. 18 new tests, no regressions, all bot reviews addressed.
This also unblocks #30452 (flush-then-reset compaction mode) and complements #30764 (session lifecycle hooks) β a few
people have been asking for programmatic session management.
Happy to address any feedback. Thanks!
Hello, I threw up PR #23910 from last week that went stale today. Would love to re-ping it back in the pool and get a second pair of eyes on it.
I think itβs a high impact quick win with low overhead. Implements a session hook (detecting changes in models, labels, verbosity, etc.) without having to make a whole cron job.
I've been using this in my own projects extensively for organization, db sync, and cost tracking. Greptile gives it 5/5.
PR: https://github.com/openclaw/openclaw/pull/23910
Discussion: https://github.com/openclaw/openclaw/discussions/24877
Hello PR Reviewers, Raised this PR https://github.com/openclaw/openclaw/pull/30748
This is for adding Bangla locale to the web UI. Took German locale addition PR as reference. Would be great if someone could review this.
i am working on a fix for tui streaming issues, and i've noticed that regularly my branch is failing CI because main is broken, i'm wondering how this is happening that PRs presmably passing CI, then merging, but cause other PRs to fail CI for unrelated code. It has happened a couple of times that my branch review progress gets stalled by this, CI checks failing in areas of code that I didn't touch, and I check the PRs page and see all recent PRs failing.
Presumably these are green PRs when they merge, how are the breaking main?
we regularly make many changes at once so ci can fail on main
Also for the issue I'm working on, it seems that the TUI frontend has a couple of issues
- Docs say streaming reasoning is an option, UI select only shows on or off. If you type an invalid value, it shows stream is an option. Nit, quck fix
- Streaming reasoning doesn't seem to work at all when toggled. The agent is aware of the reasoning text, but says it is hidden in both "on" and "stream" modes
- Streaming responses that involve intermediate tool calls causes the text of the intermediate tool calls to be erased, and you can't see the full stream of output.
I really like the TUI so i'm hoping I can get these fixed. I threw claude 4.6 at it and i'm thinking of trying a clean-room implementation with codex to compare them. Gotta admit I don't really understand the internals much though, just the broad strokes.
first PR here https://github.com/openclaw/openclaw/pull/29590
bridges after_tool_call to internal hooks so ~/.openclaw/hooks/ handlers can actually see tool executions. 50 lines, 3 files, follows existing patterns
ref discussion #20575. would appreciate any eyes on it
self assigning as im looking into all the hooks tomorrow
thanks
Thanks for your reply!In fact, I writed my idea here but I haven't received any feedback.Should I say it again?
I developed a channel connect my instant messenger to openclaw, how to integrated into the source code of openclaw like twitch so user can install using a command like this: openclaw plugins install @openclaw/twitch anyone can help?
Maybe try github discussions? I think it's harder to get lost that way
I haven't received feedback in github discussions too π Maybe I should post again
Just give it some time, as I mentioned features are not a priority right now. And if you want, you can still extend OpenClaw even without integrating it into the codebase itself if you want to have your feature earlier, see: https://github.com/openclaw/openclaw/issues/5799
Thanks so much for your reply. Iβd like to create an extension for OpenClaw. Does the OpenClaw repository have documentation on how to display or register extensions? My English is not good, thanks for your patience.
To be honest, I don't know, maybe someone else here knows? Otherwise you can always try to ask your OpenClaw if it can tell you or do it for you π
LOL, thanks so much
As per FAQ, I am pinging mods to get the clawtributor role! Here is one of my PRs: https://github.com/openclaw/openclaw/pull/30853 - @dusky blaze @edgy plaza @winged socket @patent berry
Hey Mawen, the PR has not been merged yet. Once it is, ping us again and we'll be happy to add the role π
Requesting the Clawtributors role @dusky blaze
https://github.com/openclaw/openclaw/pull/20318
https://github.com/openclaw/openclaw/pull/18201
https://github.com/openclaw/openclaw/pull/18188
https://github.com/openclaw/openclaw/pull/17136
@tawny vine - thank you π Done!
Done π
Thank you!
Could someone with GitHub super-powers please get rid of this garbage pile? https://github.com/openclaw/openclaw/pull/11970 Someone PRed their working branch and just won't notice...
Thanks in advance.
Closed π«‘
hi guys!
this is coral and I planed an online event for openclaw devs projects sharing, does someone know how could I put the event to the event dashboard in this discord?
https://github.com/openclaw/openclaw/pull/30748
Hello PR Reviewers, Could someone please review this locale addition PR? I took reference of the German locale addition PR and have also updated the i18n unit tests π only the text conversion is AI assisted.
Is there some mechanism for PR closure appeals? my PR got closed in favor of another PR that implements less features, but does implement features, and the PR that I made to add back the missing features got closed for the reason of "we are not adding any new features right now per the vision" ... eh? what? Why? https://github.com/openclaw/openclaw/pull/31059
This commit overwrote "2026.3.1" in CHANGELOG.md, but it doesn't look like openclaw@2026.3.1 has been withdrawn. π€·ββοΈ
https://github.com/openclaw/openclaw/commit/6ba7238ac6239e79e9849af4cc8c2161330b1d79
@keen spruce, updated the PR according to your suggestion. Also changed the title per your request. Lmk if you need anything else. https://github.com/openclaw/openclaw/pull/25888
Hello maintainers This is a simple and straightforward fix to timestamp of logger as docs advertised. This is quite annoying bug that both confusing humans and agents while debugging. Thanks for your time
https://github.com/openclaw/openclaw/pull/28434
about to merge
merged
Thanks dude
nice
If I'm updating a small item in the docs, but now the linter is throwing a bunch of issues with other parts of the docs, would you rather I work through all the issues or just ignore the downstream problems so the PR maintains its small scope?
i think it's better to ignore the issues
or make separate PRs for the other parts of the docs
Now I have to remember how to work with git locally and squash lol. I'm so out of practice
you got this!
Apologies for the bump, but I thought I'd try one last time before I just close the PR: https://github.com/openclaw/openclaw/pull/28599
Basically, any interest in using bwrap as a tool sandboxing backend instead of docker?
wow, that's a large PR
might be good to ask whether this is something that the maintainers would want
It was a bit of work to get bwrap to work as a sandboxing backend instead of Docker yep, though a large chunk of it is AI generated tests
where do I ask?
here!
okay perfect π
or #architecture maybe
I'd also be happy to maintain this specific feature, I've deployed my fork for my own setup atm
u should be good now
Not at this stage
i just wanted to bring up a config fix I made a couple days ago: https://github.com/openclaw/openclaw/pull/27867
currently, when plugin validation fails with INVALID_CONFIG, loadConfig returns {}, dropping all user config, including unrelated core/channel settings.
my PR runs core validation if plugin validation fails with INVALID_CONFIG, preventing unrelated core settings from being lost if core validation passes.
Hi All, Am i eligible for a Clawtributor role for this?
https://github.com/openclaw/openclaw/pull/29421
If yes, shall I have it? π
Requesting Clawtributor role @raven kernel
https://github.com/openclaw/openclaw/pull/18496
https://github.com/openclaw/openclaw/pull/18555
https://github.com/openclaw/openclaw/pull/29091
Thank You! π π
Requesting Clawtributor role @raven kernel
https://github.com/openclaw/openclaw/pull/30978
welcome! and congrats on landing code in main!
Thank you π
Yay
This is a very small change in the docs that I think is extremely helpful for newcomers like myself. Essentially, it turns the recommended update path into a single command that can be copied exactly like the source install below it. When you don't have a lot of terminal or programming experience, you're not sure how to parse a flag like --no-onboard simply:
Iβd rather not make skipping onboarding even easier for people, especially if they donβt have experienceβ¦β¦
Even though that's buried in an update step?
I could kind of see a point if this was targeting more experienced people, but those experienced people could just add the flag
Yeah, because often times new features will be included in the onboarding stuff, and our onboarding flow shows you what your current settings are, it doesnβt overwrite them
That does make sense to me. I was seeing it from the perspective of making updating using the shell script route easier
Any way I can contribute (open requests, bugs, etc)? Im a seasoned dev with 25 years experience from front end to data stuff.
I have a PR open that fixes an auto restart loop when using IRC channels an issue that multiple people have reported in bugs. I have tested it on my system another PR commented seeing good results with it. Its been open for a little while (5 days) and is isolated to IRC integration.
If a maintainer has a chance to look/review and possibly merge it would be much appreciated. I have updated the PR so maintainers can update the PR commits.
There is a second IRC issue that was discovered in the fixing of this one and will hopefully have a PR up for that too today. Its related to this issue but a different issue.
Just look at the GitHub repo lol
Oh man 4k open issues π±
Im gonna need a bot to figure out which one to help with.
It's a trap π
Hey, I know things are overloaded but is there anyway someone review and merge https://github.com/openclaw/openclaw/pull/29985 ? It adds api.resetSession() to the plugin SDK with a shared resetSessionByKey() helper and 5s cooldown guard β plus fixes a pre-existing bun-only flaky cron test.
legit question to the more experienced Clawtributors, when you stop trying to make the vibecoded stuff perfect ? And just say this is good enough
Has anyone succeeded in get the browser relay extention to work ?
It should be good enough that I wouldnβt ever tell someone I didnβt write it as some sort of excuse.
When it does what you want, and you have passing unit/integration tests.
well i got it working but tried to satisfy every single codex-review concern and i kept going and going i solved all concerns but then during manual testing i found something fixed it and then it started with more new concerns and scope kept increasing, And after 4 days of working on this PR I don't even think it will even get a maintainer review/consideration.
I opened a PR so that you can natively authenticate with Codex for openclaw models auth command, so that the command suggested by the docs (openclaw models auth login --provider openai-codex) works.
https://github.com/openclaw/openclaw/pull/32065
In the future, will add the other providers in the onboard command onto the login sub-command.
hey @raven kernel , requesting Clawtributor role π
merged PRs:
β’ #31090 fix: handle CLI session expired errors gracefully
β’ #31088 fix(gateway): support wildcard in controlUi.allowedOrigins
β’ #27276 fix(daemon): stabilize LaunchAgent restart and proxy env passthrough
β’ #24134 fix(config): keep write inputs immutable when using unsetPaths
β’ #23379 fix(stability): patch high-severity runtime regressions
β’ #23284 fix(telegram): prevent update offset skipping queued updates
β’ #3628 Fix text attachment MIME misclassification
https://github.com/openclaw/openclaw/pulls?q=is%3Apr+author%3Afrankekn+is%3Amerged
Any clawtributors with experience able to give me some advice? How frequently should I have my bot check and maintain this while I wait for human review? Given that it looks like it would take a long time I built a fork to push from so that I can keep working around the feature, but now I need approval for that https://github.com/openclaw/openclaw/actions/runs/22593710569
ha all π
I guess I'm supposed to request the CLAW badge too?
https://github.com/openclaw/openclaw/pulls?q=is%3Apr+author%3Ahuntharo+is%3Aclosed
Merged PRs of note:
#26933 - L - Fix telegram webhook hang on restart
#25732 - S - Improve telegram webhook logging and docs in config UI
#22019 - XS - Reduce app-specific docker size by ~50%
#21316 - XS - Improve Sonos skill guidance when discovery fails
#17774 - L - Timezone handling fix on Usage report
Wait... did I just give it to myself? That's all it took? Or does that mean someone gave it to me before?
You belong to me now 
you've been knighted!
requesting Clawtributor role π»
Merged Prs:
β’ #21074 β security(web_fetch): strip hidden content (prompt injection fix)
β’ #21859 β fix(logs): TZ env var + Windows timestamp fix β vandaag gemerged!
β’ #23065 β fix(slash): persist channel metadata from slash command sessions
Thanks to whoever approved my fork. All CIs passed. Any clawtributors with experience able to give me some advice on how frequently should I have my bot check and maintain the PR while I wait for human review?
Heads up Lobster Crew π¦**
maincurrently has a few regressions and flakes that are blocking CI across the repo. Iβve submitted four strictly scoped PRs to resolve these and unblock the lobster tank:
- #32122: Fixes a blocking duplicate test helper in Synology Chat.
- #32159: Fixes an intermittent
skill-scannercache invalidation flake.- #32165: Fixes a non-deterministic mock state flake in Cron tests.
- #32119: The primary fix for the pnpm/bun hardlink global install bug.
Iβve verified the combined stack as 100% Green locally. Merging the first three will clear the CI "red" status for all active PRs.
@celest merlin @joshavant @sebslight I've prepared a clean-up stack to unblock current main regressions/flakes (#32122, #32159, #32165) alongside the pnpm hardlink fix (#32119). Verified everything 100% green locally.
@vapid pawn, please don't ping Peter for issues, use #1459642797895319552 or #users-helping-users if you need help, use #clawtributors to discuss PRs, or use any of the many other channels in this server as they're intended.
If you have a problem with the Discord specifically, use #report or DM @jolly wolf
-# Your message was reposted above without the ping active for the sake of conversation.
please dont open prs to fix ci, treat it as a suggestion
holy crap.
Sorry, just bumping this, now that I've gotten CI to work smh:
I opened a PR so that you can natively authenticate with Codex for
openclaw models authcommand, so that the command suggested by the docs (openclaw models auth login --provider openai-codex) works.https://github.com/openclaw/openclaw/pull/32065
In the future, will add the other providers in the onboard command onto the login sub-command.
was there an update to the browser relay
Can someone please close this issue? It has been fixed already. Thanks.
https://github.com/openclaw/openclaw/issues/32088
A huge shoutout to the folks who fixed all the flaky tests/test regressions in the main branch. I am finally able to witness a green on my PR's CI π π
Agreed.
Had to piush like 10 unnecessary commits because the tests were kinda broken
make a pr and ci failure with somthing not relate to my code, how to retrigger ci without push againοΌ does any have idea with itοΌ
@jolly wolf itβs NOT a pr for test fails π
looks like a pr for test fails gonna ban
It isnβt
It had a commit for one but it was done by someone else and merged in π
Not sure what is the correct way to contribute and to ping about PRs, I created a PR to make blockStreamingBreak more flexible so I can make it stream block in DMs but in channels with multi-agent non streaming: https://github.com/openclaw/openclaw/pull/31289 . Let me know if this is the correct channel or I should go to other places π
I saw the recently added Diffs extension which looks like a great idea. In practice, I'm finding it's user message scoped injection of the When you need to show edits as a real diff, prefer the diffs tool... DIFFS_AGENT_GUIDANCE is resulting in a lot of "Noted on diffs - Iβll use it as the default for real edit diffs going forward." messages across chats. I wanted to check on the thinking around these instructions being injected before_prompt_build rather than this being implemented as a skill or similar? If it needs to be here, it's possible this wording needs some tweaking to avoid it being interpreted as a new change that the agent needs to comment on? Cc/ @white galleon
happy to iterate and improve; have you tried removing the prompt and running to make sure it;s what's triggering the messages you are seeing? which model are you using?
seeing similar sort of responses with sonnet 4.6 and codex 5.3. Mostly I just searched for "diff" and noticed that agents guidance message getting loaded in a lot in my session files.
Which struck me as odd since none of these chats were code / change related that would trigger a diff.
will fix that
um, the user prompt? That would be bad, tbh. Throwing that long list of text into each message the user types would be ... um ... undesirable. But it looks like it should be going on the system prompt. Not needed, in my opinion, if the tool description is good enough
But, tbh, all those prompt injection callbacks are too similar for me to keep apart. niming isn't ideal in that area.
As it has gone "stale", and I don't really want to mess with the branch when it still is mergable just to get barnacle off my back...: https://github.com/openclaw/openclaw/pull/27028 a one-liner QMD-upsteam-bug workaround. Has been running here for a week, so it works.
Yeah, sorry for spamming "notice me"...
PS: And one for updating outdated documentation: https://github.com/openclaw/openclaw/pull/26860
Thanks. I've been testing and playing with this a bit today and my suggestion would be to migrate the agent guidance to a diffs skill within the tool/plugin. Proposed PR if it helps: https://github.com/openclaw/openclaw/pull/32630
Bug: /acp slash command ignores inline arg, shows menu anyway
When typing /acp close (or any action inline), Discord sends the interaction with action = null because the field uses static choices β so OpenClaw always falls back to the button picker menu.
Root cause: buildDiscordCommandOptions registers the action arg with static choices (17 options, under Discord's 25 limit), which forces Discord's dropdown UI. Users can't bypass it by typing inline.
Fix: Register action with autocomplete: true instead of static choices. This lets users type freely, Discord passes the value through, and resolveCommandArgMenu correctly skips the menu when a value is present.
Cant just type /acp close in discord, it still shows the selection menu instead of bypassing it straight to closing the acp sub agent
Please report issues on GitHub (https://github.com/openclaw/openclaw/issues or https://github.com/openclaw/openclaw/security). The only exception would be recent breakages/regressions that can be tracked down to a specific commit/merged PR.
hey sweet someone (peter?) fixed the tool result compaction code
I have a simple Docs PR if someone wants to take a look for me.
Hi, I have this small pr as a warmup. Its related to heartbeat skipping triggers on request in flight errors. Added exp backoff for hb rates bigger than 1h
Hi all, this PR should still be tested and ready to go, it fixes a bug preventing onmessage from working in Mattermost channels: https://github.com/openclaw/openclaw/pull/20051
Hi everyone. I needed a good way to capture messages as they persist. currently the memory is parsed from jsonl file post session. but we can capture the message as they happen using a after_message_write hook
here's my PR - https://github.com/openclaw/openclaw/pull/32855
Hi, sorry for bothering, i have a minimal and surgical PR ready for review, which unify console timestamps output. hope someone could take a review , thx: https://github.com/openclaw/openclaw/pull/32464
Hi @raven kernel I would like to apply for the Clawtributor badge! π¦
PR Merged: #32119
Title: fix(plugins): allow hardlinks for bundled plugins (fixes #28175, #28404)
Merged on: March 2, 2026
Link: https://github.com/openclaw/openclaw/pull/32119
Summary: This PR fixed the "unsafe plugin manifest path" error that was breaking global pnpm and bun installations due to the strict hardlink rejection policy introduced in v2026.2.26. By allowing hardlinks for trusted bundled plugins, we restored functionality for package manager users while maintaining sandbox security for workspace plugins.
hey, opened a fix for control tokens (NO_REPLY etc) leaking as visible messages to users β https://github.com/openclaw/openclaw/pull/32459 . would appreciate any eyes on it if anyone has a sec π
I know ACP is the new hotness... but I'm on Telegram with old and busted mode for coding-agent.
If you launch in foreground mode and tell it to ask for approvals when needed, it will... but in the last two weeks I've never once gotten one of those approvals with /approve or free form text to work.
I believe I have a fix for this now AND an improvement that actually tells you the /approve command syntax that will approve once.
But somebody please stop me if this actually works perfectly. The only way I've gotten tasks that need to access the internet in Codex is to tell coding-agent to use yolo.
I feel like I'm the only one using OpenClaw to code based on the issues I run into...
@raven kernel good morning! I would like to apply for the Clawtributor badge! π¦
- PR Merged: #32119 - fix(plugins): allow hardlinks for bundled plugins (fixes #28175, #28404) - Merged on: March 2, 2026
Requesting Clawtributor role @raven kernel
https://github.com/openclaw/openclaw/pull/32367#issuecomment-3987988413
I filed a bug, two PRs got opened that I went and verified didnβt fix it, I filed my own that is verified to fix it and today is got auto closed because one of the other PRs, verified not to fix it, was opened first.
I get that thereβs a lot of PR noise but maybe the triage bot should also consider verification and which PRs are updated more recently? A bit of a frustrating experience trying to fix this bug and so I think Iβm going to leave it alone and hope someone else actually fixes and verifies it. Itβs a shame because the TUI interface seems to have several regressions and Iβd like to be able to use it
hey @raven kernel , requesting the clawtributor role. steipete took part of my PR https://github.com/openclaw/openclaw/pull/32367 and landed it on main with me as co-author, shipped in v2026.3.2 β https://github.com/openclaw/openclaw/commit/71cd3371372763e1f6c3d1fa7c11cb302285f619. got a few more PRs in the pipeline too
Morning folks, what's needed to have https://github.com/openclaw/openclaw/pull/27275 reviewed and merged? I've done a lot of work and testing on this and I'm excited to contribute.
Hi PR Reviewers/Maintainers, I have raised a very simple and small PR to add a locale support. Would appreciate if it could be reviewed/merged. Have updated the tests as well.
https://github.com/openclaw/openclaw/pull/30748
Link?
hey @tall prairie, noticed that https://github.com/openclaw/openclaw/issues/22233 was closed pointing to https://github.com/openclaw/openclaw/pull/22270 as the fix, but that PR also got closed because the issue was marked completed. neither was actually merged β they just closed each other in a loop. the thinking block immutability auto-recovery fix never landed on main. worth reopening one of them to track it?
I opened the but a first time that got closed by a PR https://github.com/openclaw/openclaw/issues/27674 without verification. So I opened https://github.com/openclaw/openclaw/issues/28180 and these two PRs were made: https://github.com/openclaw/openclaw/pull/28228, https://github.com/openclaw/openclaw/pull/28232
I pulled both locally and verified neither of them fixed the bug, so I opened https://github.com/openclaw/openclaw/pull/29117 which I actually verified does fix it, but it was closed in favour of 28232 (https://github.com/openclaw/openclaw/pull/29117#issuecomment-3987793746) which I had already commented doesnβt fix it https://github.com/openclaw/openclaw/pull/28232#issuecomment-3973465888.
maybe it does fix it now, I can try it again but at the time I made my PR neither did. I was worried they would get merged and close my bug again without proper verification of the fix - the tests aren enough someone needs to actually use the tui with tools and record it
https://github.com/openclaw/openclaw/pull/33285
Ready to merge - fixes pnpm global install issue. All tests pass. Locally tested, CLEAN state, follows the exact pattern from approved PR #32119. Closes #29525, #29072, #21918, #32937. Thanks
there are conversations in the issue as of 2 hours ago.
I made a channel integration for instagram using https://github.com/supreme-gg-gg/instagram-cli can I just make a pr or is there anything else i should do
keep it third party, we arent really adding more channels right now
you can get it added to #1474434870259224723 though
Coolio
Bet Iβm working out the kinks rn after itβs ready Iβll just send the link here
Any clawtributors with experience able to give me some advice? How frequently should I have my bot check and maintain this while I wait for human review? https://github.com/openclaw/openclaw/pull/29985
Hello, looking for a review for a PR if someone has a moment:
PR: fix(security): prevent memory exhaustion in inline image decoding (#22325)
https://github.com/openclaw/openclaw/pull/22325
This prevents a potential memory-exhaustion/DoS issue in MS Teams inbound attachment parsing where oversized inline data:image/...;base64,... payloads could trigger big allocations during base64 decode, by adding a pre-allocation size estimate and basic base64 sanity checks, and enforcing both per-image and cumulative byte budgets throughout the parsing path.
Published test results within the comments as well
just make sure it still merges cleanly. it could take weeks.
Hey! Looking for some help, our friends at AgentMail recommended posting here (crossposting from #clawhub) ... our skill clawdtalk-client is flagged as suspicious but it scans clean on VirusTotal (0/76). Would a mod be able to take a look? Details and evidence here: https://github.com/openclaw/clawhub/issues/568 .. thanks!
Can anyone get me the invite for iOS node app? Tysm
Hey, opened a fix for the Codex toolChoice bug (#33421) β https://github.com/openclaw/openclaw/pull/33462. Happy to address any feedback!
Hello, wanted to float this PR #23910 one last time for any maintainer interested in re-opening it. I saw that someone opened back up last week but it went stale again. Merge conflicts are fixed and tests pass now.
PR adds session:patch hook β simple and effective feature I have been using often.
PR: feat(hooks): add session:patch hook event to listen for session changes (https://github.com/openclaw/openclaw/pull/23910)
Discussion: https://github.com/openclaw/openclaw/discussions/24877
Hey! Just opened https://github.com/openclaw/openclaw/pull/33500 fixing the Feishu duplicate bot-info fetch on startup. The single-account path wasn't passing the prefetched botOpenId to monitorSingleAccount, so it'd re-fetch every time. Small fix, added tests for the happy path, failed probe, and abort edge cases too.
Hooks are on the list. Keep it open

Hi! Opened PR fixing the bug of exec_approval empty list. Could someone with write access review or approve this when you get a chance? All checks are passing and WinnCook's review feedback has been addressed. Thanks https://github.com/openclaw/openclaw/pull/33346
Fantastic thank you!
You think once per hour checks are overkill?
probably, how often does one of those checks result in it actually needing care
i'd be doing it once a day at most
also like your pr should be small enough that for the most part the only merge conflict you have to deal with is the one where a different pr that addresses the same issue gets merged
I just updated mine from main and now I have a test failure. Unfortunate, but better to find out this way than to merge the PR and then have breakage on main.
take a quick look but usually those are transient
basically don't pay much attention unless it has an actual merge conflict
often main has breakage already
ok barnacle i guess
Hey Folks!
I know theres been a couple PRs and discussions on compaction models and I believe I've addressed all concerns about it being better to use the model that created the context that is getting compacted. But I came across two cases where we could add a bit more elegance to compaction failures.
- Compaction fallback language, in cases where compaction is attempted with say a frontier model on a subscription but the compaction hits the usage capacity a fallback model is desired. https://github.com/openclaw/openclaw/discussions/33431 there is an associated PR https://github.com/openclaw/openclaw/pull/33396 that should meet requirements
- In the cases that a frontier model with high thinking or just a really slow model is used there are cases in which a race is started between timeout and when the model returns it's response. When this happens it would be good to have the option to fail to "think = off" since it's not really a benefit for compaction in my understanding. If my understanding it could be changed to default to thinking is not changed and the feature is opt. Please see discussion and PR https://github.com/openclaw/openclaw/discussions/33430 and https://github.com/openclaw/openclaw/pull/33296/
I'd appriciate a review when my turn comes up π
starting to suspect that that change did not, in fact, obsolete my PR
ah, i got scared by a refactor
have a fix for a regression on llama.cpp backends: https://github.com/openclaw/openclaw/pull/33648
the fix is for https://github.com/openclaw/openclaw/issues/32916 which entirely breaks tool calling on qwen3.5 models (probably others but i didnt test those)
it's a one-liner!
Y2K was a one liner! (Probably)
all i know is i could have been doing my actual job but i got sniped into fixing a regression
Job sounds way less fun then hacking on claw though
i know right? i have to like interact with people instead of just turning rabid claudes loose on code
also i tried to make a video but 10mb is brutal
I just pastied a couple of screenshots
that probably would have been smart
anyway i'm enjoying my role as the brave defender of local model usability
and especially using a cloud model to do it
I made that PR for per-topic agents you wanted @sharp cargo -- https://github.com/openclaw/openclaw/pull/33647
hot
fixing the codex/greptile things now
i've considered vibing up a tool to basically vote on PRs by pulling them into your local branch and then running with them merged for n days
Am I misreading this completely, or is it currently telling the agent that it can generate up to ~6.5MB of text in its response when it's responding with that tool call? No wonder the sanity checks engaged. That many output tokens (>1M) are a bit above what's considered normal...
I use quilt to cherry-pick PRs. It allows me to very easily rebase my local main with upstream/main and then test the patches for them applying, or just discarding the ones that no longer are needed or have a difficulty in applying. I love quilt!
ooh neat
Ok, took longer than I expected but reopened both PRs and updated the discussion threads. So, ready to go when my ticket is called ;P
ahhh i finally got my fix for tool result compaction working i think
yeah for the first time ever i've got it over 150k tokens in the context and not busting the cache to delete like 100 tokens from the beginning
I discover a TUI regression bug (#33866) and target how to solve it, then immediately submitted a PR (#33867) to fix it. However, many similar PRs were submitted shortly after :XD . I'd appreciate if someone could help review and merge it first. thx : https://github.com/openclaw/openclaw/pull/33867
thanks for totally rewriting my pr to actually be sustainable @untold pollen β€οΈ
yesssss i think this is gonna be it, i'm gonna get this context all the way to the tool result compaction at 160k or wherever
ripppppp got to like 130k and then something super early changed
but thinkies are working!
I am enraged.
slot update_slots: id 1 | task 82525 | old: ... 23: | 22:27 PST
slot update_slots: id 1 | task 82525 | new: ... 23: | 52:27 PST
slot update_slots: id 1 | task 82525 | 220 17 18 25 17 17 25 17 22 39630
slot update_slots: id 1 | task 82525 | 220 17 18 25 20 17 25 17 22 39630
slot update_slots: id 1 | task 82525 | n_past = 9659, slot.prompt.tokens.size() = 127716, seq_id = 1, pos_min = 127715, n_swa = 1```
Okay who put a timestamp in the system prompt again?!?!?!?!
There's also system events that are in the system prompt now instead of the conversation where they used to be???
I'm never going to get a single context to 160k tokens at this rate
I hate that prompt code; it's so convoluted. But if I read that diff correctly, events are now added to the system prompt instead of the user prompt, invalidating the whole cache every time they happen? Is so, that's a MAJOR regression and can be very expensive for some users...
Yep! I already have a patch which puts them back. There's an attempt at injection protection in that commit too which should make the cache bust unnecessary. I need to figure out how to write a test for cache busts ugh
I have like four branches soon to become PRs after I bake them on my agent
Yeah, my first instinct was to write a test case for system prompt stability...but I can't trigger unknown injection sources to inject inside the test case like I could do with the current time by just waiting 61 seconds...
oh i also had a 30 minute timestamp change somewhere at token 9.7k
i hope that's just the system event thing
9.7k sounds like it could be the end of the system prompt. The prompt itself is now cached in memory, so it shouldn't change---only stuff people append to it can change
i'm basically just manually trying to get a single context all the way from opening the session to the actual context window limit
and then having an agent chase down every time i have to recalculate my context for 20 minutes
the nice thing is that i get to interact with a 122b model when doing this so it actually does things by itself
My main session hasn't been reset for weeks...only compacted. But then, I am very careful with what versions I upgrade to...
which also uhh exposed a fun bug with thinking!!
anyway i'm so close to validating the original concept which was fixing the tool result compaction pass to reclaim way more per pass and also be way more accurate in its estimations
i validated a fix for one bug and fixed like 3 others in the process
btw, do you remember which maintainer handled the last system prompt issue? I don't want to ping a random one... (and IMHO, this needs a ping)
argh my fix for it was apparently ineffective i think
no wait i psyched myself out of course it invalidated the cache one more time
Hey folks! πI'm a contributor here β I've got two small PRs open that address the undocumented commands.ownerAllowFrom gap (issue #25344). Ran into this myself setting up a self-hosted instance and figured others are hitting the same wall.
#25357 β one-file fix: adds a warning log when owner-only tools (cron, gateway) are silently stripped, so you actually know what's wrong instead of just seeing the agent can't find the tools
(https://github.com/openclaw/openclaw/pull/25357)
#25424 β matching docs: documents commands.ownerAllowFrom in the tools and pairing pages, since it's not mentioned anywhere currently
(https://github.com/openclaw/openclaw/pull/25424)
Both are small and verified against v2026.3.2.
Would love any feedback β happy to adjust if the approach needs changes!
Hey Folks! π I'm a contributer here
I've got a PR open for a new Kudosity SMS channel plugin: https://github.com/openclaw/openclaw/pull/32417
Adds outbound SMS via the Kudosity v2 API with config adapter, onboarding wizard, webhook parsing, and full test coverage. All automated review feedback has been addressed and CI is green (the only failure is the known flaky root-alias.test.ts Windows timeout that's also failing on main).
I'd appreciate a review when my turn comes up π
Hi,
seems like I found a bug with openclaw onboard --install-daemon
Here is the PR :
https://github.com/openclaw/openclaw/pull/34306
The cache is busted again on main?
Do providers return cache hit metadata? If nothing else I'd like to be able to catch issues with cache locally. For opus use this is rly important
Hey folks! π I have a focused PR up for review: https://github.com/openclaw/openclaw/pull/15639
It fixes a race condition in local embedding initialization (prevents duplicate model loads / VRAM spikes) and includes test coverage for the concurrency path.
Itβs a small, scoped change, and Iβm happy to address feedback quickly.
Would really appreciate a review when it reaches your queue β thanks!
Would appreciate a quick look when you have a moment π
Yes. /status should surface cache hit rates and there are a few dashboards that can also be used to see hit rates.
With the overwhelming number of PRs how does one actually get picked for merging?
small focused PR with a high quality fix
I am following one that fixes a regression that is affecting me and it is size XS with experienced contributor so should get merged in smoothly? #33137
Yay merged
Yep Iβll push a pr later today I guess
Itβs a βsecurity fixβ itβs very annoying
Thank you, one before the next release would be great
Yep just always want to test stuff locally first π
Hey fellas, I just joined this community, hope I can catchup with lots of happening in the OpenClaw space right now! π
https://github.com/openclaw/openclaw/pull/34794
Hope it passes checks, been running locally fine for a while
I have Claude working off and on on a tool to just detect cache busts more accurately but itβs a long way off.
I did manage to burn like half of my Claude max 5-hour allotment last night fixing like 3 other bugs in the process of validating that one feature-fix (tool compaction is much more tame now ..)
Hello there! π Iβve submitted a PR to add MiniMax TTS support here: https://github.com/openclaw/openclaw/pull/27880
Iβve spent the last week addressing the automated comments and linting requirements, so the build is green. Iβve been using this branch locally to access my custom MiniMax voices, and itβs working great.
Iβd highly appreciate a maintainerβs review whenever you have a moment! π Thanks!
Best tool is mitm proxy and watching the request/response itβs a pita though
yeah i'm writing one of those but like you say, pita. Slot cache debugging on llamacpp is at least helping
No need to write one it already exists itβs called mitm proxy π
well sure but then scope creep happened and i wanted to also enrich the responses with caching data since llamacpp doesn't do that
@tall prairie automated review found some stuff, think i fixed it, but don't merge until greptile likes it 5/5 π
hey folks, i've wanted to use openclaw for a while now. finally got myself some inference thru OpenCode Go. but it's not available as an onboard option. i raised an issue few days ago hoping that someone would pick it up, but it was not. so i raised a pr that closes the issue.
https://github.com/openclaw/openclaw/pull/34838
it might not be ready to merge. (idk this is my first time here). so please let me know how i can get it ready to merge.
- ci passes (1 fail. 404ing when downloading bun in the workflow)
- resolved greptile's review.
Have you tried the custom provider option?
Just curious
Weβre not against new providers just wanted to give you workaround
I have a question last 2 weeks I've been working on tts. Initially I started by integrating qwen3-tts as a custom TTS provider but i found out that currently no new providers are considered.
So i completely scrapped that approach and instead went the correct path and just fully implement the OpenAI TTS API. still doing manual tests with verification videos is this something that will even be considered?
lol codex is teaching me about features that i didn't know existed because i'm breaking them with my change. excellent
i gotta put up my other PRs so they can marinate i guess
i'm just like, are these too big? can i make it tinier?
Hey! Raised a PR to fix issue #29100 - Cost metadata support for auto-discovered Amazon Bedrock models. PR #31160: https://github.com/openclaw/openclaw/pull/31160 - Adds a costs map to bedrockDiscovery config so Bedrock IAM-auth users can finally see USD cost estimates in /status and /usage (not just token counts). Would love a review! All tests pass. Thanks! π
Could I get some thoughts on https://github.com/openclaw/openclaw/pull/34009 ?
Hey! I was thinking about adding support for the Perplexity Agent API (a /v1/responses based API to access Claude Opus, GPT-.2 etc)
From what I can see, endpoint compatibility here seems limited to /chat/completions and /messages. Does that mean a custom provider implementation would be needed (similar to how Grok is handled)?
it there a specific roadmap about how openclaw going to do next recentlyοΌ
I'm looking for a maintainer to help me add a channel to openclaw. it's like whatsapp but you don't need a phone number. called aliceandbot
Hi folks, I just discovered that my PR for adding a model provider (StepFun) got closed. The reason is that it's already supported in OpenRouter. For this, I want to explain the difference:
Integrating platform.stepfun.com directly (via this PR) offers significant performance benefits for OpenClaw usersβspecifically, much faster response times and higher rate limits.
For context, OpenRouter strictly caps the daily number of requests depending on a user's credits, with a maximum limit of 1,000 daily requests. In contrast, the StepFun platform does not limit daily requests at all, and the limit is 1,000 requests per minute (RPM) even for a light user.
I believe this massive difference in capacity justifies the direct integration.
Any comments / suggestions are welcome. I do hope that maintainers can reconsider this PR.
https://github.com/openclaw/openclaw/pull/27211
OpenRouter API limits: https://openrouter.ai/docs/api/reference/limits
StepFun platform rate limits: https://platform.stepfun.ai/docs/en/pricing/details
And there is concurrency limit as well. That significantly affect the experience of OpenClaw use. I can provide proof to support the claim.
okay. the custom provider seems to work. will run with it for a bit to see if nothing breaks.
what does this mean for the first-class support? i think it's still worth integrating?
In my opinion, for all that it's worth (which isn't that much here), everything that has a fully openai-compatible API already has first-class support. What we're doing for many of the providers is like putting USB ports with funny shapes on a computer that only take one kind of device, so the user has it "easier" to plug their new mouse in. "The Logitech mouse plugs into the triangular, red port, the Razor mouse plugs into the blue 5-pointed star, except when it has LEDs then it goes into the six-pointed cyan star, ..."
Thanks for the clarification. I understand the maintainenance burden and have huge respect for what the maintainers have done to the project and the community. For providers that's not on the list, users would still face more friction there, like manually entering the base url and the complexity of <provider/model>. Such models may be supported equally from implementation perspective, but users of these models are not treated the same.
For my specific PR, my intention is to add the provider first and then will add coding plan and anthropic-compatible config later. Sort of incremental rather than an overwhelmingly big bundle.
With that said, I'm happy pivoting to a pure documentation update/change.
I'd suggest some more automatic / prompt ways to handle this provider config, instead of the hard-coded approach.
Appreciate the discussion on this matter.
Like what providers? What do you suggest?
This
Maybe we can establish some kind of standard to package all the needed data into some oblique string that the providers can publish to simply cut&paste in? There are quite a few variations on the API you want to configure, including the prices. Make it QR-code-payload compatible, and users could scan it with the app.
Mcp had this at the start. A simple βvllmβ configuration string is VERY doable. Can easily work like openclaw provider setup <string>
it will then preconfigure the custom model inference using openai spec
Ollama also have /models endpoint for discovery etc. So easier to add custom model configs into config and it works out of the box
If people want a βsmootherβ experience
@final ocean the context is here (provider and PR). My suggestion is to have some built-in intelligence to let people configure using natural language or QR-code as Henry suggested (even better).
Or somehow decouple the model / provider selection from the main code, like hosting in a separate catalog repo (and publishing manifest - package maybe) - this means any change to this separate repo is a data entry PR (not a core OpenClaw code PR). OpenClaw will keep a small resolver that loads a pinned snapshot, and optionally use catalog update to fetch newer versions.
Too hard basket. Why do you need βintelligenceβ when its just a config??
Also problematic as models chabge too fast. LiteLLM and openrouter do this and it trickles down to pi then into openclaw
naturl language leads nowhere with most of the datafields. "supports dev role"? "suuports system role"? "name of the token field"? most people can't even repeat those phrases, much less give them in natural language
If you want an easier way to configure/override sure. Not sure what the ask is
I think small labs just want to have thier models show up better. I hear you, but we cant maintain code and spec for what is already supported
I'll think about a data format tomorrow, I have some ideas on how to make this simple (K.I.S.S. principle!), but I'm about 3 hours late for bed, so I don't trust my own brain atm ;)
I dont βmonitorβ this channel so dm me when you have something
will do
I didn't think through when I said natural language. Right. It's not deterministic. but hard-coding model config during onboard isn't ideal, and I see catalog/manifest maintained separately a viable direction.
Hi! Contributor-in-training here. I have a small stack (6) of PRs. Half of them are miscelleneous fixes. The other half are cautious (I think) attempts to extend the hook system in line with existing patterns, and with an eye to open discussions, issues, and other PRs on this core topic. The CONTRIBUTING.md suggested opening a discussion, but it got closed. My goal with the hooks is to enable richer security plugins, one of which I have developed and have been using extensively for about a month. Is this the right place to find humans to talk about this with? If not, please let me know where to go. Thank you!
agreed
I guess under the current setup, to some degree, model providers who got added earlier have some sort of advantage, and it's not fair for new model providers / router services. Most of the models already on the list are either openai-compatible or anthropic-compatible, I guess we would not remove them?
And if the standard is whether a model is already supported on OpenRouter, almost all models are now available on OpenRouter. OpenRouter has competitors too, and they would never have the chance of showing up?
I think there's a gap to formalize the license definition for OpenClaw skills.
I'd like to propose that we add a license definition feature for skills! Detailed PR created for this (with screenshots)
https://github.com/openclaw/clawhub/pull/603
Feedback appreciated! π
Hi @keen spruce, I am a co-founder of StepFun (http://yibozhu.com/). I agree 100% that USB ports should be standard cross mouse brands. The problem is that there are already many "USB ports" for "Logitech", "Razor" etc. with different fancy shapes. Using it as a reason to reject new providers is in a way suppressing new mouse brands. I always believe that an open community should treat new contributors equally, if not more friendly, as/than the existing players. More choices and more competition is generally good for users.
I apologize if @glacial lodge offended or bothered you. It's a bit frustrating for us since our PR has been hanging for almost a month (dated back to the earliest one https://github.com/openclaw/openclaw/pull/10857). While we see the usage of our model gradually climbs to #1 daily on OR (https://openrouter.ai/apps?url=https%3A%2F%2Fopenclaw.ai%2F), we are still rejected by OpenClaw for being shown as an independent provider. We are a bit confused of what more we can do to get accepted.
We look forward to your new and fair solution!
Hey team! π
I've added SGLang (https://github.com/sgl-project/sglang ) provider support to OpenClaw. Ready for review. https://github.com/openclaw/openclaw/pull/35572
What it does:
β’ Auto-discovers models from SGLang server (port 30000)
β’ Adds SGLang to provider selection UI
β’ set SGLANG_API_KEY and it's ready to go
Changes:
β’ Core provider logic + auto-discovery
β’ UI integration (appears after vLLM in provider list)
β’ Setup prompts for base URL, API key, model
Let me know if you have any questions!
Hi mates , respectful bump on my PR: https://github.com/openclaw/openclaw/pull/29075
I understand the PR queue is very large, so Iβm not expecting fast turnaround.
Iβm posting a concise βwhat I testedβ to help triage:
What I tested:
- Live manual Zalo checks (real accounts): text, link with/without preview, image, sticker, unsupported payloads.
- Verified unsupported payload fallback logging + DM policy enforcement.
- Ran:
pnpm vitest extensions/zalo/src --run - Ran:
pnpm vitest src/infra/safe-open-sync.test.ts --run - Ran full local
pnpm test(passed)
If this is easier to merge in smaller pieces, I can split the PR immediately.
A quick directional comment (keep as-is / split / close) would be enough and Iβll follow it. Thanks.
Iβve noticed a few recent smaller PRs touching the same areas this PR already addresses.
Reviewing/splitting this one now could reduce duplicate follow-up PRs and keep the queue smaller.
Have a nice day π€
A little PR for fellow clawtributors working on the gateway: stop restarting the gateway when .test.ts files change:
anything specific to sglang you cant do with standard custom providers?
Would it be possible to get a code review on this PR? I can see that the workflow completed successfully π€©
Hi maintainers! I've submitted a PR to add Prismer as a community channel plugin (#36250) and opened a discussion about potentially integrating it as a built-in extension (#36264).
Prismer is an A2A messaging network β 80+ agents in production. The OpenClaw plugin implements the full ChannelPlugin interface: outbound, WebSocket gateway, agent discovery, and two bonus agent tools (web context + document OCR).
Everything is published and tested:
β’ npm: @prismer/openclaw-channel
β’ Source: https://github.com/Prismer-AI/Prismer
β’ TS type-checked against plugin-sdk β zero errors
Would love guidance on what's needed to move toward a built-in extension under extensions/prismer/. Happy to add vitest tests, adapt to monorepo conventions, or adjust anything per your feedback.
PR: https://github.com/openclaw/openclaw/pull/36250
Discussion: https://github.com/openclaw/openclaw/discussions/36264
Hi! I'd like to contribute a new channel extension β Prismer (A2A agent messaging). Already published as a community plugin (@prismer/openclaw-channel) with a PR for the docs listing (#36250).
Before I submit a PR to add it under extensions/prismer/, wanted to check: is a Discussion (#36264) sufficient, or should I get explicit approval here first?
Does it unlock that the existing community plugin canβt already do or just discovery/distribution?
Think of it this way: other channels are walkie-talkies β agents shout raw text at each other. Prismer is a shared library with a phone system β agents publish knowledge to the shelf, then just tell each other "check page 42."
s!warn @silent bolt AI slopping long paragraphs is not appreciated here, use your human voice and answer questions and send messages yourself
i just provide an accurate feature specification.
No, you're spamming the channel with slop.
i suggest taking it to #1457803836877176914 @silent bolt
i would rethink this a lot , it does make a lot of sense to support native frontier labs and inference providers because the cost is much smaller and the latency is much smaller... some of these have been around for much longer than openrouter ... talk about wierd internet money , well there's one example of it , versus straight up model labs hosting their models for you at 1/10th of the price with actual caching ...
my point is , we should consider rethinking this approach , especially since the labs have folks that are contributing the code that needs to be maintained
Hey guys, where can I go for support, have a few questions
@sonic ermine not disagreeing with you, open to solutions that dont complicate the problem future and works for all
Installing openclaw on windows and need some help
well this is super encouraging , because i've literally recieved dms from the representatives of a bunch of labs last three weeks , if i clearly mark the PRs from legit reps and legit labs , would that help ?
i mean i got like two DMs , but i see more wallowing in the queu (and they're legit)
Thank you for the feedback. Why it's needed and specific:
- Auto-discovery queries "/V1/models' automatically (no manual model config) 2. Onboarding UX (Ease-to-use). 3. Growing adoption SGLang is increasingly popular for high-perf local inference. We already have vLLM, Ollama; SGLang fits the same pattern.
imo I think the custom providers is still a good fit, but maybe you can open a GH discussion for this?
I've seen a lot of similar requests and unless there's a large user demand, the answer is usually keep it as a custom provider. (But maybe start w/gh discussion & we'll see what others have to say)
Lets move to DM cc @jolly wolf
Yea will work. I need to hear from providers directly so we can help address thier feedback and see if we can work something out
Feel free to start one
Hey Team - probably for the maintainers, but I got invited to https://github.com/OpenClawHQ a few hours ago. It looks like probably a non-affiliated repo but could easily confuse people.
I'm just ignoring it but thought I'd call it out as it gives me weird security vibes.
The Skills license feature is now ready and waiting for a human to review and discuss. It's meant to be a step towards introducing licenses into OpenClaw's skills workflow, much like Google / Getty Image search for commercial image assets.
The AI bot reviews are all completed... took a bit of time to nail this but finally did it!
GreptileAIsummary is now 5 out of 5Codex Agentgave a πVercel Agent Reviewsuccessful
That user on GH is also spamming the comments to promote his "OpenClawHQ" via comments & PR's
Comments on other's PR's:
https://github.com/openclaw/openclaw/issues?q=commenter%3AJah-yee OpenClawHQ
All of these PR's in the list have spam comments promoting his Org/Repo
I've got Telegram ACP Topics (threads) binding working in this PR, also fixed some corner cases that made it impossible for me to actually spawn ACP at all (-- turning into emdash on Mac Telegram client).
If someone using Discord ACP could just confirm that things are working for them still that would be a big help!
I'm also working on something that I think is better... might be able to work some of it into the ACP approach though too.
@versed kindle
I already built this functionality yesterday? not released yet. is this related? have you checked it out?
https://github.com/openclaw/openclaw/pull/34873
I was told last night it landed on mainβ¦ I saw the commit on mainβ¦ tried it, but it didnβt work π
Did you fix all the same issues? There were several.
To clarify: I tried what is on main. Havenβt looked at the PR link you sent and whether that was merged yet or not.
ah got it. I checked the PR out, it looks good to me, but I haven't tested
Oh yeah thatβs is the PR Iβve been trying. Itβs already on main.
The first screenshot in my PR shows that topic binding in TG doesnβt work with ACP. Some issues are just annoyances like the client converting double dashes to an emdash, but once thatβs out of the way it still says binding is not supported in TG. My PR fixes that.
@modern kestrel i can ask the agent but while you are in the context, did i mix up telegram/discord code, and put up channel-specific code where it shouldn't be?
Iβve got to make dinner for the kids for about an hour but will post a video review after on my PR. I believe Iβve tested all the corner cases.
I'll also give it a run and merge it if it doesn't break anything
Iβm not positive? Maybe you missed some commits? The docs on /focus an /unfocus were still discord specific as were the docs on spawn saying only discord supports threads. I saw nothing on main that added telegram support. Maybe you did a lot of the plumbing to make topics work but just missed a final step or lost a commit?
ok will look again
I agree that telegram should support the config values and the slash commands you mentioned
what I'm not sure still is: did you set telegram up by adding config values in bindings and such, or did you purely try to use slash commands?
@final ocean thank you btw for bumping
@modern kestrel any chance you might add me as collaborator on your fork? then I can push to the same branch without having to create a new pr
username: osolmaz
Yes will do in a minute.
I just tried to figure out how to use ACP from what crumbs I could find. All I knew was the slash commands π
ahh just created a new PR π
if you don't have time, no need to worry, I will credit you while merging
Just added you to my fork
You can DM me if you want. I can pair on this too if you want...
So there will likely be a release tonight, and I'm ok with polishing telegram experience more before we do that, it's gonna be a big release
I am ok with pairing as well, I'll just sleep in a bit
also, you should check out the doc changes in my pr. it tells how to set up topics permanently with codex claude code etc. that was the flow I tested, so I'm not surprised slash commands weren't working
Ah... gotcha. Yeah I didn't read the PR I just dove into trying it with the /acp command that I knew existed π
ah sorry, btw can you also add dutifulbob as collaborator? forgot that I was using my clanker π
I don't wanna discredit you
Done
Probably should have put a configurable archive duration on the original discord autoThread PR, but better late than never π https://github.com/openclaw/openclaw/pull/35065
@versed kindle - Do you know, offhand, why ACP is only allow "yolo" or "read only" or "never" for approval? I believe that can be changed and I think I had it changed on one of my branches last night... just wondered if there was a reason why it wasn't set to be interactive. I have exec approvals showing buttons in Telegram for old-style /coding_agent invokes now and my alternative-to-ACP approach is using button approvals as well (relaying what Codex is showing)... so I was curious why ACP wasn't exposing the "ask me" mode. I can add that if the ACP library supports it.
hmm i'm not sure about these chabges after this
@modern kestrel is it possible to split this pr? I'm not sure about the spawning and slash command interface stuff. But any Telegram-related fixes we should still ship
I think that it's saying it's parity with Discord? I didn't invent the ephemeral-ness unless I made a mistake and persisted the config when they should be ephemeral... I can fix that.
/acp spawn codex --mode persistent --thread here --cwd /Users/huntharo/github/jeerreview --label jeerreview4
My tests were always like that... I was telling it to make them persistent...
Hi all! Small stack of PRs ready for review. Goal: expand Openclaw's hook system carefully, misc fixes. 5/5, green aside from CI flakes.
Hooks series: https://github.com/openclaw/openclaw/issues/36671
Independent smaller fixes:
https://github.com/openclaw/openclaw/pull/30310 β channels: default account in multi-account configs
https://github.com/openclaw/openclaw/pull/30323 β browser: include current page URL in tab-targeting responses
https://github.com/openclaw/openclaw/pull/33845 β slack: persist thread participation cache across restarts
Enjoy! π§
I had a question about ACP: Any interest in routing the output to wake the agent/session? I thought it was going to be a drop in replacement for how I have OC run/supervise claude code and codex via tmux, but this doesn't work because the agent can't see the responses from cc/codex.
So I would say you can set up your config using those binding arguments for now. And then we can polish the slash command binding in the next iteration. What do you think?
For the codex session to be persistent it needs to be saved to config but you weren't doing that no?
I think if the release notes mention Telegram Topics support for ACP that it's going to result in a slew of support questions if the slash commands don't support it.
But if it's left out of the release notes or carefully mentions config-driven only... might be ok
I don't see them in my Codex threads list no.
Just realized I never got my clawdributor role, @jolly wolf could I get that whenever you get a chance? https://github.com/openclaw/openclaw/pull/800
I am surprised that flow^ isn't automated
Itβs intentional, because of the amount of people who try to sneak in malicious PRs
Even if we banned them, technically they are still a contributor to the repo forever, and I didnβt wanna have dozens and dozens of checks for bans and deletes and stuff, easier to just do it manually still
Telegram doesn't have an ephemeral thread option. Telegram topics are equivalent to Discord channels. I should probably add clarification that for persistent use of codex, it needs to be added to config.
I'm using voice typing, by the way. Sorry if it's annoying
Thanks!
technically they are still a contributor to the repo forever
Never use the contributor list as the source of truth!! You could have a bot maintain its own allowlist. Something like aΒ /claim-roleΒ command that triggers github oauth, then the bot verifies withΒ is:pr is:merged author:{username} repo:openclaw/openclaw, meaning you get a list you can actually manage from the bot's collected data
And in the event of a revert, that's very easily traceable so you can auto-remove the role or take action against the user! With 1k+ contributors the manual flow doesn't seem viable long term IMO
For context I used to be senior mod on the OpenAI discord (scaled to 3.5M+ members) and that server had a bunch of internal automations for similar validation flows
Yep, thatβs exactly the list of checks I said I didnβt wanna do π
It may be worth looking into later once we have the foundation and more official ways to track things like that, so that we could scale it to sponsors and employees and stuff too
Weβve had a couple situations so far of people stealing other peopleβs PRβs and getting them merged, and then later on we just change the attribution in the contributor list of the original author if itβs something that we missed. Thatβs the big situation that is really hard to account for
The edge cases are daunting at the scale of slop that weβre getting
lol I don't think it needs to exist tomorrow but with the fastest growing repo and 120k+ members it may be worth considering down the line
sure but you could make the process less manual eg /reassign-pr #34009 @kesku
It's really hard to contribute now. There are so many pull requests. When an issue is raised, if it's relatively easy to fix, several PRs will be submitted within five minutes. I once filed an issue and was the first to solve it, but in the end, my PR wasn't merged. I felt a bit frustrated π But I also understand that there are so many open PRs right nowβit's really tough.
enlightened solarized enjoyer
I've opened a PR 2 days ago, to fix a security gap in the doctor command https://github.com/openclaw/openclaw/pull/34244
unlike other my trivial PRs, this pr is worth to take review i think
Hey all π I've been building a personal exec agent and
implemented something called AgentGate , a credential broker
pattern where the LLM only ever holds an agent-key, never
OAuth tokens directly.
Thinking it could be a useful extension for OpenClaw,
especially for users running cloud LLMs who don't want
their Gmail/Calendar tokens touching external servers.
Posted a discussion on GitHub here: https://github.com/openclaw/openclaw/discussions/36963
Would love feedback on whether this fits the extension
architecture before writing code. Happy to contribute!
Those PRs are usually, in my experience, not good. I tested some of them just to make sure. Maybe thatβs not true anymore as it has been a few days.
But I stopped filing issues if I intend to fix something myself.
A hint I got from Krill, which I liked a lot, was: if you want to contribute specifically, write the PRs and THEN write an issue that demonstrates the problem and the solution at the same time. I can't vouch for how well the outcomes match the promise, but, it seems like a reasonable strategy to me.
yeah, that's exactly what I do now. If I find an issue n can fix it myself, just submit a PR directly without filing an issue. Otherwise, there will be several similar PRs right away, that's unnecessary.
#self-promotion plz - this just isnβt the channel for that
That's clerly a promo. You may not be selling something, but still...
Hey everyone π
I've been digging into a long-standing LINE channel bug β requireMention: true in group/room configs has no observable effect; the bot replies to every message regardless. The root cause turned out to be three separate missing layers:
- No mention gating in the inbound flow
- No pending history for unmentioned messages
- LINE absent from the DOCKS registry
I put together a fix covering all three in a single PR:
π§ PR #35847 β Fix/Complete LINE requireMention gating behavior
https://github.com/openclaw/openclaw/pull/35847
π Issue #34438 (full root cause analysis + design rationale)
https://github.com/openclaw/openclaw/issues/34438
The fix brings LINE's group gating behavior in line with WhatsApp, Telegram, Discord, Slack, Signal, and iMessage β unmentioned messages are stored as pending history context rather than dropped or processed unconditionally.
If you have a moment, a review would be very appreciated! Happy to discuss the approach or answer any questions. π
Quick question, is it intended that is discord the only supported channel for ACP? Is it a planed feature to allow for ACP without one shot outside of threads?
As far as I can tell on a channel that doesnβt have thread support you canβt use a session that keeps context in a codex acp.
@modern kestrel Any insight you can give would also be appreciated
what you are asking is currently on main
- acp in discord threads
- acp in discord channels (persistent)
- acp in telegram topics
additionally @modern kestrel did some work that acp related slash commands work on telegram yesterday
it should be released hopefully today
Thanks for confirming, I donβt currently use the discord channel. Whatβs stopping claw from just starting a context persistent acp session in other channels other than discord and telegram? Seems to be a hard coded limitation
now that we support persistent bindings, yes, we could enable for others. but the goal was to test each channel before releasing to make sure it works. releasing isn't as seamless and acp stuff need to be specialized for the idiosyncracies of each messaging app
which others did you have in mind?
Wanted to ask if anyone could update the pi-ai related dependencies in the repository - there seem to be some key fixes in there since the pinned version :)
That makes sense, I think the web ui is an easy no brainer as you have full control over it, however Iβm not sure how many claw users actually use it so might be best to focus on the more popular channels.
I feel implementing it into the popular channels like WhatsApp/Signal would be a good next move. What makes it difficult to just have some mechanism (similar to native claw subagents) to repeatedly interact with the same acp session in the background
I donβt understand why backend functionality is tied to the front end interface, although I have not properly looked at the inner workings of acpx
can you maybe elaborate the exact UX you have in mind? whatsapp community with subgroups? or using slash commands to focus in and ouf codex in the same chat?
Either would work, but I think slash commands would be the most versatile. If slash commands were implemented could, a subagent also easily use the same underlying interface to acpx to read output and send tasks to the acp codex session?
The use case of manually entering the acp session with a slash command shouldnβt be the main focus imo (but is nice to have). I think allowing an agent to fully control the session is more important for me anyways.
I didn't get exactly
sounds like it describes something that is already possible, except for whatsapp/signal
did you try to build on main?
If anyone with a Discord setup wants to test this to see if anything changed on Exec approvals (sample prompt that invokes npm with approval in the PR), I would greatly appreciate it:
https://github.com/openclaw/openclaw/pull/37233
I've never been able to get exec approvals to work on Telegram until this PR - the codes were always rejected. This presents the approval choice as buttons, clears the buttons after click, fixes the issue with the approval not working, and adds a (need review) system event heartbeat routing back to the requesting topic that allows exec to actually display output after the approval.
The event waking changes can be dropped if too risky... they are isolated commits.
@versed kindle I had a question about ACP: Any interest in routing the output to wake the agent/session instead of direct to user? I thought it was going to be a drop in replacement for how I have OC run/supervise claude code and codex via tmux, but this doesn't work because the agent can't see the responses from cc/codex.
https://x.com/4shadowed/status/2029976890820178309
and yall wonder why we struggle so much :P
@jolly wolf just saw that you closed this PR (not mine). Was it because it was stale/triage, or just not interested in that fix? Until recently my agent in Discord could edit openclaw.json and message me once the gateway was restarted, but now they just stop. https://github.com/openclaw/openclaw/pull/29255
Not sure if I should open a PR to fix or just leave it alone
That user is the one referred to in my latest tweet (also sent in #shadow-says-stuff)
im banning a lot of users right now for directly copying peoples PRs and spamming us
oh makes sense
there's likely another PR open that is the exact same fix, since most of that users PRs were dupes
i created a pr and he/she/it commented and created another pr with fixes.
https://github.com/openclaw/openclaw/issues/37832
then saw sid-qin had 80 merged and 400 open and thought must be a maintainer
maintainers will both have the orange role here and have a yellow maintainer label on their PRs
my bad βοΈ
all good
I'll keep looking, but I'm not finding one
you're welcome to open one then!
@jolly wolf I dmmed u my instagram channel plugin could u pls go through it and tell me if thereβs anything else to do
Np lmao
Could a Maintainer maybe take care of this?
I could make a PR but I feel like that's kinda unnecessary here
@jolly wolf
this guy used cursor for opening a draft pr https://github.com/openclaw/openclaw/pull/37981
based on my issue that i already created pr for
https://github.com/bmendonca3/openclaw/commit/c38f1528acaa48a91963f128a172f7005da4db5b
seems like same pattern
it'll be in the next release
Thank you!
they're in my queue for banned users!
actually they're already banned just havent closed their prs yet
i will review
ahh merged lol
appreciate the offer anyway haha, thanks for all your incredible work!
Good pr idea. We need to do that for embedding providers too.
I had that user on my naughty list... I was surprised to keep seeing commits merged for them... but if you throw 800 PRs at the wall, some will get through right?
can someone check this out? i spent two days finding this bug
Hi all π . New contributor here. I noticed a few hours ago that main has broken CI. Here's a small fix: https://github.com/openclaw/openclaw/pull/38267
I submitted an important PR to help separate data plane and control plane over two,weeks ago. Hereβs an email I just received and my response:
βClosing this PR because the author has more than 10 active PRs in this repo. Please reduce the active PR queue and reopen or resubmit once it is back under the limit. You can close your own PRs to get back under the limit.β
This is perhaps the stupidest thing I have ever read.
What this has convinced me to do is cease any efforts to improve OpenClaw. Congratulations.
Ok well sorry that you canβt handle contributing in the way they want you to
Like there are 5k open PRs lol
That PR is about 3 weeks old at this point. I submitted about 17 in total, mostly to do with security concerns. I am not responsible for those who are abusing PRs, nor was this an expectation 3 weeks ago plus. But hey, not my house, not my rules. Iβm just letting the maintainers know that they are throwing out babies with the bath water.
i closed literally 2710 prs that were spam/slop, some people had upwards of 400 prs open.
blame the bad actors ruining it for everyone else, its unsustainable for us to keep going like we were
And yet no consideration was given to the PRs sitting around for weeksβ¦. Or the content of the PRsβ¦ Or their provenance. I get the attendant problems, but given how little attention the PRa have received since submission, to ask me to decide which are unimportant enough to close so that the others might be merged is a bridge too far. Itβs not like the PRs were evaluated for importance or,usefulness; one was just chosenβ¦arbitrarily? Given its security impact, it cannot have been chosen due to lack of merit.
given how little attention the PRa have received since submission
we constantly are reviewing prs all the time, and we provide this channel for people to help discuss their issues as well.
the only criteria used for bringing the limit to 10 on existing prs was time, the first 10 prs were kept. anything more would have been unscalable or take days of work.
and like barnacle said, if you have other prs you think should be open instead, you can close your own and reopen the ones to keep
My entreaties in this channel to evaluate important PRs went unnoticed or (certainly) not acted on. Again, I donβt take issue with the problems youβre facing, just the after effects of the chosen solution. But in any event, I wonβt waste any more of your time.
Cutting the amount of open PRs helps us get to legitimate PRs. GitHub barely has any moderation tools so we have to work with a blunt cleaver.
It's the right decision.
If we did not (I'm going to say it here anyway for people reading from the sidelines) give guidance on how to manage max of 10 open PRs:
- Nothing stops devs from making a PR against your own fork back to
mainon the fork - I do this all the time - granted, it won't probably do any CI, but you can run code reviews in Codex, run all the builds locally, and be 100% confident that a PR is "ready" to take 1 of the 10 slots and only promote them to theopenclawrepo when they reach that state - Draft PRs - Did we suggest to people that they can make Draft PRs or did we include those in the cap? I'd probably include them in the cap... they can be just as distracting... if someone wants to make a Draft PR... make it on their own fork instead.
drafts are included, yeah
no one except maintainers have really been doing draft prs though
Oh no... trusted contributor went away π
STOP
We dont need peoppe to fix tests for CI
Maintainers will manage this
Sorry if im touchy about this ππ«‘
@lusty vigil could you take a look? This touches gateway send context propagation and agent/session-key handling.
Maybe we can figure something out but a raw count didnβt make sense
well, i have 4 opened PRs which not hit the limits of 10 opened PRs, wishing a review to be quickly
Hello, I might be a little lost, but I no longer see the pr-thunderdome-dangerzone channel and I am wondering if I broke a rule on accident? When I first joined I forwarded a PR from here to there assuming that was where it should have gone. Is this why I cannot access it?
No worries, that channel go retired
ah I see thanks
@tall prairie if https://github.com/openclaw/openclaw/pull/23910 is still relevant do you mind opening it back up to the queue? π
totally reasonable change imo as a fellow open source maintainer. Only so much stuff you can review at once
This should be resolved. It likely happened when I renamed the branch and then reopened the PR.
Is there a channel in this discord to discuss qmd dev? Should it be a plugin or channel sub thread?
@hoary pendant technically its a plugin
Hi! Could anyone review this PR?
PR #34205 https://github.com/openclaw/openclaw/pull/34205
It adds result-modifying hooks for tool calls. This opens up a few useful scenarios:
- General testing / wrapper plugins: wrap or mock tool results without modifying tool logic
- Input guardrails: intercept and sanitize tool results before they reach the agent, blocking untrusted content that could be used to attack the OpenClaw agent
- PII / confidential data sanitization: scrub sensitive data from tool results before they're seen by the model and OpenClaw.
All tests pass. The only failing CI check (secrets) is unrelated to this PR. Would appreciate a review!
This one was "approved" by arosstale but then marked stale and closed. It's still really important and relevant. Posting here as #pr-thunderdome-dangerzone seems to be gone. https://github.com/openclaw/openclaw/pull/22917
Sorry to hijack this, but as you (presumably) just had your finger in the tool call code, you might have some insight on a random idea I had earlier: How easy/hard/feasible would it be to PR a very simple tool into openclaw: "custom" with an open list of parameters. When used, openclaw would call an executable configured in the config, with those parameters 1:1 (and the agent/session id). That's it, no semantics, just a simple callout that can work as a replacement for exec---for anything a user might want their agents to do without giving them full shell access. A very simple extension hook for people who don't want to dive deep into their openclaw but have some idea how to write a shellscript.
Acustom or custom_script tool sounds like a great addition, something easier than building new plugins.
The tool can manage a list of scripts and supports commands like add, delete, modify, list, and run. Using it, the agent can list available scripts and run the script the user requested.
I haven't checked the default tool implementations, but I don't think that would be particularly difficult to add. It might add some RCE risk (if the attacker can overwrite the script) but that's nothing new for openclaw. π
I was thinking even simpler. Just a single fixed entry, and then you can branch out in there based on the first parameter. Feed the info on what is available there as skill to your agent.
For overwriting I have two complementary ideas: (a) Put a warning into the doc that the file should not be writable by the agent, and (b) have the call be hardcoded to "<configured_executable> -h --help --agent <agent> --session <sesion> -- <parameter list>" The "-h --help --" would trip up nearly every existing executable, so setting the config value and pointing it somewhere would be useless. The agent would need to write a custom script and chmod+x it (sorry Windows, going by file endings bites you here) in addition to writing that config value to use this to break out.
huh, would a config param for the file-edit tool "rejectEditingExecutableFiles" be a useful thing?
In general, i think it would be good to have specific directories or files configured as read-only so that the Openclaw agent cannot modify them using write/edit tools. If it marks the scripts as read-only, it could prevent accidentally or unintentionally overwriting them. Does openclaw already supports such a config?
I don't think the file editing tool has any restriction except for a "workspace only" one that can be enabled. In general, when exec is enabled, any such restriction would be useless. But when it is off, editing existing shell scripts is a hole.
Hello maintainers,
could you review https://github.com/openclaw/openclaw/pull/38322 (issue https://github.com/openclaw/openclaw/issues/37832)?
In sandbox mode, WhatsApp outbound media from workspace-<agentId> was failing with path-not-allowed because requester agent context wasnβt consistently reaching gateway send paths. not only this path, whatsapp channel is unable to send any media from any path including /tmp.
This PR fixes context propagation in message-tool + sessions_send announce, with tests for both legacy and agent-format session keys.
Would love your confirmation that this matches intended security policy for media root resolution.
hi guys, anybody come to reveiw this PR made directly from Minimax Team, a user experience improvement:
PR:https://github.com/openclaw/openclaw/pull/33953
Reason:fix(models) Users logging into MiniMax via OAuth will now have the Open Platform's image tools automatically enabled. This functionality has already been implemented for API key users.
Hey everyone, quick update on the LINE requireMention fix β
Tested in a real LINE group and everything's working as expected:
- No mention β bot stays silent, but keeps recording pending history in the background
- @mention β bot responds with the accumulated group context included
So it's not just "going quiet" β it builds up context while silent, then brings it all in when finally mentioned.
Screenshot below, PR: https://github.com/openclaw/openclaw/pull/35847
Just to be clear: this is not a test change, but a change to update some types that got broken by a dependency upgrade that broke main. If what you're staying still applies, perhaps consider adding some explicit instructions to CONTRIBUTING.md, because it currently says:
Bugs & small fixes β Open a PR!
... which is what I did
(also, thanks for all your hard work! this is a great platform)
tagging @celest merlin @untold pollen since i you guys recently did commits related to gateway.
just lmk or itβll be helpful to know if the pr is not needed, i am eagerly waiting for next version. thx and sorry
@wise helm, please don't ping Peter for issues, use #1459642797895319552 or #users-helping-users if you need help, use #clawtributors to discuss PRs, or use any of the many other channels in this server as they're intended.
If you have a problem with the Discord specifically, use #report or DM @jolly wolf
-# Your message was reposted above without the ping active for the sake of conversation.
.
i sound so desperate sorry for this
https://github.com/openclaw/openclaw/discussions/38684 Hello community,π I have an idea and posted it in the GitHub discussion. Could you please take a look at it? Any feedback would be appreciated.
heyo
Anyone else seeing this? Fast mode on Codex Desktop turns it on / off for all threads in all projects... but if you use App Server via another front-end it can/should be per thread?
@OpenAI Codex devs - Running `/fast` in ANY thread in Codex Desktop turns Fast mode on/off in ALL threads? It also seems to cause a problem for older threads that were pinned to GPT-Codex-5.2 or 5.3, they flash the old model name when opened then change to GPT-5.4... I thought these settings were per-thread?
**π¬ 1βποΈ 19β**
so gng i accidentally left the serv and i lost the role
can i have it back

@clear kraken OwO
Added <@&1458375944111915051> to ! evil german man.
ty pookie
It seems Deps got updated but pi-ai was missed unfortunately
itll be like *right* when release happens usually
Gotcha
hi, not actively contributing to openclaw but i have been hacking away at my own setup. here is something i put together for memory: https://github.com/yoloshii/ClawMem
Hey all Iβm an active contributor and wanted to have this PR looked at - it fixes an issue in Discord when sending /new or /reset commands: https://github.com/openclaw/openclaw/pull/38977
Hey, any particular maintainer who typically enjoys looking at telegram PRs I can tag on a small bug fix or thatβs ready for review/merge? (https://github.com/openclaw/openclaw/pull/39172)
Take care of those review comments π
Had to do a double take! That last comment I actually addressed it in a792a2a parseInboundMetaBlock now uses continue instead of return null after a parse failure, so it keeps scanning for valid blocks rather than bailing out. The new regression test in strip-inbound-meta.test.ts covers it
Not sure why the clanker made two near identical comments π
Join #1474434870259224723 thread for telegram.
Iβve got a PR in to Mac app for Telegram - it hides the autocomplete list for bot commands as soon as you type underscore even though thatβs allowed by the spec and works correctly on iOS app. OpenClaw remaps - to _ in bot command names so you can see the problem.
Iβm not hopeful thoughβ¦ no commits on main in 8 months.
perfect thank you
Ohh... my Telegram Exec Approvals buttons is finally clean on checks and merge conflicts:
@modern kestrel can u pull latest main and verify the acp thread stuff you landed is still working?
Yeah. But what do you suspect broke... I've been building something else that I think gives a 10x better experience with Codex.
I assume everything is broke
Ok, I'm running upstream/main right now. Give me a few mins.
Sweet thanks. I need to get it set up myself so I can start using it.
Bruh you are crushing it
It appears that everything is working (except when I mess up sending the messages). I can focus, unfocus, spawn threads. The one error was because I think I like replied and it seems that broke the parsing of the slash command.
Nice thank you.
I was inspired to go to the gym today... to confirm I could use Codex the way I wanted while on the treadmill π I have a line item in the implementation plan "gym bro test". Got about 10 minutes in before things fell apart. Tried again while out to dinner... no problems that time.
Here is a little demo of plan responses: https://imgur.com/a/vDE5RzO
Sick!!! I love plan mode
/codex_status and /codex_fast toggling: https://imgur.com/a/3nh0v7D
Hi maintainers π
I'd like to add support for the WeCom channel. My colleague jerryzhou mentioned that your can help with this.
Could you please review and let me know if PR #38976 is still eligible to be merged?
https://github.com/openclaw/openclaw/pull/38976
Thanks in advance!
Check out the join workflow... gives you your most recent Codex Desktop / CLI threads, click to join, gives you last request/response context: https://imgur.com/a/RGgPntn
Dang this is awesome
Hey @proud thunder, this should probably be a plugin first. https://docs.openclaw.ai/plugins/community
@zealous plover It has already been published to npm. Do I still need to submit a PR to this document?
Wecom β Connecting OpenClaw to an wecom bot via WebSocket. npm: @wecom/wecom-openclaw-plugin repo: https://github.com/WecomTeam/wecom-openclaw-plugin install: openclaw plugins install @wecom/wecom-openclaw-plugin
How to list plugin: https://docs.openclaw.ai/plugins/community
Oh also it looks like the info is on your PR as well in a comment
Hi Will I mentioned you in PR but realized I should ask here instead - https://github.com/openclaw/openclaw/pull/32529 can you take a look? π
Different Will π
Hi Maintainers, i have hit the limit of 10 open PR's and unable to contribute further because of new PR limit. Could anyone please review my PR's , here is one of them: https://github.com/openclaw/openclaw/pull/38255
updated pr time and left a comment for reviewers to have even context,
Itβs a narrow requester/agent-context fix for outbound send paths (message-tool+sessions_send, A2A announce), with partial overlap only on themessage-tool half with #39034.
@zealous plover The previous PR (#38976) was closed and cannot be reopened, so I've submitted a new PR. https://github.com/openclaw/openclaw/pull/39511
Thanks.
That change to what tools are enabled by default for an agent by [whatever rules] wasn't quite well-thought-out, I'd say. It really leaves people stranded, as there's no indication of why their agents are restricted, especially when it's not a fresh install and stuff just stopped working due to the update. If someone has an idea to handle this better, maybe giving the agent a way to ask the system so it can present proper guidance to the user, that would be great. Maybe a tool like "tool_status" that lists all unavailable tools and the reason why they are not available, and links to the documentation for each reason? (Bonus: Allow the default agent in their 'main' session on the TUI/WebUI channel to check for other agents and sessions so they can implement changes for the user.)
if you're referring to the tools.profile defaulting to messaging, that was a regression that's been un-done in the latest release
I don't know what I'm referring to, other than the 937 posts in #1459642797895319552. That's the reason I'm calling this out---even after reading about it so many times, I don't understand it. But if it was just a regression---good. (Hey, I hadn't yet noticed there's a new release.) Still, giving an "effective permissions" report for an agent/session might not be a bad thing. At the moment, there's much guesswork involved in figuring out how all the config values add up, considering there's agent+session+channel+dm/group stacked on each other. And if one of the clawtributors wants to tackle that...
https://github.com/openclaw/openclaw/pull/33822
Perplexity engineer decides to contribute and "quitely" remove OpenRouter support of Perplexity so that they can benefit more from people using direct Perplexity API instead of going through the universal gateway. Wondering why my agent kept saying 401 unauthorized when doing web search.
sad that it passed the filters and got merged with this regression ... i think you did a good job calling it out , keep up the good work π¦π¦
I mean you implying intent, when it's possible it was genuine mistake/testing artifact or just conflict with the 2 paths.
Genuine mistake? i doubt it. He explicitly set base url and model to be deprecated fields. So he must have known what he was doing. Call out @red sparrow to see what he has to say about this
seems pretty obvious that's what he is doing lol
Just opened a fix for Codex GPT 5.4 context handling in OpenClaw.
Problem:
openai-codex/gpt-5.4 was inheriting a much smaller context window from the gpt-5.3-codex template instead of exposing the native 1,050,000 token window. That meant the Codex path was advertising a far smaller usable context than the model actually supports.
Fix:
The PR patches both the forward compat resolver and the synthetic model catalog so openai-codex/gpt-5.4 now reports the proper native context window, matching the openai/gpt-5.4 path.
Issue:
https://github.com/openclaw/openclaw/issues/39791
PR:
https://github.com/openclaw/openclaw/pull/39797
All CI checks are green and the review thread has been cleaned up.
I am genuinly speaking from experience with the OpenAI TTS. For very long time it had no baseURL as config option and relied on env viarable there were so many strict checks for non baseurl vs baseurl it was nested in directives and commands, I don't know the exact details of the perplexity API and implementation nor the difference with openrouter as provider. In the end openrouter as intermediete still routes to their API. Again my point is not to cast blame and imply intent from code changes, especially with the amount of PRs and confusedopenclaws pushing changes and opening issues and PRs.
Have you considered the Pi-coding-agent 272k context window for GPT-5.4
Good catch to ask about. The fix does cover the pi-embedded-runner (coding agent) path directly. That is actually where model-forward-compat.ts lives and where the 272k was being inherited from the gpt-5.3-codex template.
The 272k context window is still correct for gpt-5.3-codex itself. The PR only patches gpt-5.4 to expose the native 1,050,000 tokens, and the tests explicitly verify both: gpt-5.3-codex stays at 272k, gpt-5.4 gets 1,050,000.
So yes, the pi coding agent path was the primary target of the fix.
I was hitting my head at this problem earlier today and asked because last release didn't update the pi dependency to the latest we are still 55.3 and gpt-5.4 and some openclaw specific fixes are in the newer releases. And also there are caveats with the higher context. I think above 272k is double the cost and there is serious degradation in performance. Similar fix was suggested by my openclaw but I decided against even in codex it's configuration option gated.
That is really useful context, thank you. I was not aware of the cost multiplier above 272k or the performance degradation at higher context on the Codex path.
Based on your feedback, I am adjusting the PR right now:
What is changing:
β’ Default context for openai-codex/gpt-5.4 will stay at 272k (matching the template)
β’ The native 1,050,000 context becomes opt-in via config (e.g. contextTokens in openclaw.json), consistent with how Codex itself gates extended context
β’ Model metadata still reports the native capability, but the effective session ceiling defaults to the safer 272k
Why:
β’ Cost doubles above 272k on the Codex path
β’ Performance degrades at higher context
β’ pi dependency is still on 55.3, so some gpt-5.4 behaviour is not fully upstream yet
β’ Forcing 1.05M as default would be practically worse than the current behaviour
The PR description will be updated with these caveats. The goal was never to force higher context, just to make the behaviour transparent and give users the option when they want it.
PR: https://github.com/openclaw/openclaw/pull/39797
thanks @vocal geyser
Well that didn't happen - now the new release is missing those key fixes :/
@frail girder Openrouter doesn't support the Perplexity Search API nor the agent API, they only support Sonar, which is outdated, and doesn't provide structured json results directly, but instead AI generated summaries.
If you want to use sonar models, we have an MCP that can do web search through Sonar in a better way than this original implementation: https://github.com/perplexityai/modelcontextprotocol
And yes, ^ supports openrouter
cc @vocal geyser @sonic ermine @hazy vigil
to be clear, if openrouter DID support the Perplexity Search API, there'd be no change made here, there is no benefit to me/perplexity whether or not you use our apis through them or us
The regression in behavior (causing 401s) is a genuine mistake, I should have caught that in my PR
but Sonar should not be a web search option
regardless of where you're calling it from
Appreciate the clarification @red sparrow . I searched on OpenRouter which perplexity model they support and it seems that they hae full support? https://openrouter.ai/models?q=perplexity. Is it a mistake on their end or is the perplexity search api not supported in those models? Curious to know. Thanks
Every model you list on this page is a Sonar model, the Search API isn't a LLM, it's direct json results
They also list models like Perplexity: Llama 3.1 Sonar 70B Online which do not exist in our API anymore and were deprecated ages ago, we're coordinating with openrouter to resolve that
I'm happy to make another PR to add a deprecation warning in the OpenClaw UI that tells them to use perplexity directly or the above MCP if that'd help, I'll reiterate: there is no way I or perplexity benefits from you going to us directly as opposed to using openrouter (since you're getting 401s now, we're missing out on your usage through OR which is technically worse for us
)
example usage attached, this is MUCH faster and skips the step of having one LLM talk to another to get the same information
and since web_search defaulted to sonar-pro, you were limited in OpenClaw regardless
via MCP, you can call any model, including deep research
hope that clears everything up, I'm more than happy to answer questions and genuinely love openclaw haha
Hmm, then how did the previous option with openrouter work in the first place? Cause that must have worked right? The previous one call the Sonar model to make the search right? Perplexity Search API just makes it easier by actually calling the api and return nicely json output right? Reason I'm asking is because I want to use only openrouter, managing too many api keys is a pain
yes exactly, openrouter called sonar-pro which led to a multi turn web search (that gave you basically the same results) but than a model had to ground that information into a summary with citations (much like how grok, kimi etc work as a option)
this wastes tokens summarizing twice, with sonar pro and with your claw. If you want to keep using sonar pro, use the MCP
also, happy to send some api credits your way (if you're comfortable with another key in your config lol) as a gesture of goodwill, I never intended to worsen the openclaw experience
No worries mate. Seems like perplexity up their game but OpenClaw doc hasnβt caught up yet. Thanks for the PR and for the updated info here. Cheers
more likely openrouter issue tbh
Hey clawtributors, looking for eyes on a plugin hook PR:
https://github.com/openclaw/openclaw/pull/20067
Adds before_agent_reply β a plugin hook that fires after slash commands but before the LLM runs, letting plugins return a synthetic reply to short-circuit agent processing. Enables forms, approval gates, wizards, and interactive tutorials as plugins without touching core.
There are 60+ open issues/PRs requesting some form of message interception, and none of the existing hooks (including the newest ones from this week) fire at the right pipeline position to do this. The PR body has the full breakdown.
Ah, I wish I saw this earlier. I just landed a PR that restores OR compatibility on #39937
maybe be good to revert? apologies
@jolly wolf Claiming my contributor role - my PR #39281 (fix: reject pid <= 0 in parseLaunchctlPrint) was landed on main by steipete.
https://github.com/openclaw/openclaw/pull/39281
The fix stops launchd runtime parsing from recording sentinel/non-running values as real PIDs, with regression tests for pid = 0, positive, and negative cases.
GitHub: @wind crag
Please don't ping Shadow for that. Mods will grant you the role.
I donβt think an immediate revert is the right move. #39937 is just restoring broken existing OR/Sonar configs and fixing the 401 regression (and not claiming that Sonar == the Search API)
Better follow-up, IMO: keep legacy compatibility for existing users, add a clear warning/deprecation for the OR/Sonar path, and steer new setups to direct Perplexity Search API or the MCP
looked at the changes, LGTM, agree this is the right approach! Thank you.
sorry. it was Shadow who told me to claim it on X
we ship fast and break things, no harm no foul. Thanks for being active @red sparrow
not sure what that approval process looks like but putting my name out there for contributor role eligibility (#1917 #18218 @grizzled rivet on GitHub)
edit: yay! thank ya kindly
is there a proper way to communicate and discuss things with a maintainer and their specific responsibility I just don't feel like tagging them directly or DMing and submiting just random PRs that half ass fix something doesn't feel right to me and I'm already 20+ hrs deep in their specific field/implementation
Most maintenance are listed here with their area of responsibility: https://github.com/openclaw/openclaw/blob/main/CONTRIBUTING.md
There's also channel specific topics, e.g. this one for Telegram: https://discord.com/channels/1456350064065904867/1474436078373966089
I found what looks like an OpenClaw sandbox/browser design bug. A sandboxed agent can use the browser, but browser screenshots are saved to host media storage, and the sandboxed agent
then canβt send that file back via message because the file path crosses sandbox/host boundaries. Is this a known issue, and would you want a PR for it? If yes, whatβs the intended fix:
shared media/artifact handoff, looser message path handling for host media, or a different browser-output design?
I know who the maintainer is there is no specific channel for the acp/acpx work he did, i also read the whole implementation plan in docs/experiments/plans etc I can easily create multiple issues but this will only trigger 100 automated PRs without actually understanding the issues so maybe #architecture is the best channel for such discussion if onur even uses the discord
i am not talking about one specific person but yeah this definitely feels like talking to a wall
maybe another claw can help better lmao
I mean we are 100k+ members and there are only so many maintainers that's the main reason i don't want to ping/DM bug them for no reason cuz i can imagine 500 people doing it
500 is less imo. also i think they of-course have a channel and of course i think not all maintainers are on discord. the problem is design direction and alignment. for me it's been 30 days. one version introduces a bug; the other solves it but another bug is introduced.
that's expected and that's why i'm looking for proper way to communicate what can be useful and correct instead of just fast PR spam like most people are doing
us
im looking into the full hooks surface area over the next few days
heck yeah. let me know if there's anything i can do to help or other PRs you request. happy to throw a disgusting amount of tokens towards PRs
Hi @grizzled rivet Looking at your PR! Thanks for the link to mine -- very helpful!
@grizzled rivet Nice and comprehensive overview of the existing work -- it looks like you're adding yet another critical feature not found anywhere else -- would love to help out in any way I can! Learning how to contribute here, so feel free to tell me where I can be of assistance π
Hi there , i had submit PR about a2a im solution https://github.com/openclaw/openclaw/pull/36250 as channel plugin . Should i talking to anyone for merge it?
Related info :
https://github.com/openclaw/openclaw/discussions/857
https://github.com/Prismer-AI/Prismer/tree/main/sdk
https://github.com/VoltAgent/awesome-openclaw-skills/pull/203
Welcome to chat to about any question.
Just found this one in my notifications: https://github.com/openclaw/openclaw/pull/19736#issuecomment-4017010228 Seems the "select which PR for the same problem to merge" process selected one that doesn't work. I could send the user who actually tested it to open an issue, but yeah, let's not invite even more PRs...
Edit: Matrix plugin
Hey! Just joined β I'm an OpenClaw user and I've been digging into the iOS app from source. Already went through the apps/ios README, the xcodegen flow, and the current node command set (camera, canvas, screen record, location, Watch App).
I'm not a Swift specialist, but I love building things and I tend to dig in hard until I figure it out. I use OpenClaw on iOS daily and I care a lot about the iOS node experience β so that's where I want to contribute. Happy to build and test on my own device, report issues in detail, or pick up tasks on the iOS side. Is there a good place to start?
Hey all, looking through the contributing doc, it doesnt mention what to do for PR not getting reviewer after some time. Should I ping reviewer directly, share PR here, or what? I notice people doing that already and old (meaningful) PRs are still not getting maintainer attention. Wanna be sure to not spam maintainer unnecessarily. Thanks!
I am trying to solve a problem and CI failures are pre-existing and unrelated to my PR:
detect-secrets: Baseline file is out of date β flagged files (matrix.test.ts, AppStateRemoteConfigTests.swift, etc.) are not part of this PR.
loader.test.ts: "supports legacy plugins importing monolithic plugin-sdk root" timed out at 120s β flaky test on Windows runner, not related to model resolution changes.
Can anyone guide me?
This is my PR
https://github.com/openclaw/openclaw/pull/40211
Just check it out
im using it really cus my entire family uses my openclaw and to much of a pain to setup 5 different instances
cus i want all the memory channels and cron jobs to be seperate
while using the same apis and everything else
@jolly wolf please check
@dusky blaze claiming my contributor role for PR βfeat(gateway): add trusted-proxy auth modeβ, https://github.com/openclaw/openclaw/pull/15940
It got merged back in mid-February. Coming a little late to claim my role. π
Added <@&1458375944111915051> to nickytonline.
Congrats!
Thanks!
ty!
Hey, I opened a small fix PR for the BlueBubbles packaged-install issue plus the remaining bundled-plugin src/* import cleanup in Mattermost, Nextcloud Talk, and Twitch. CI is green if anyone wants to take a quick look: https://github.com/openclaw/openclaw/pull/39638
I created a couple of fixes for WhatApp pairing which is currently broken. More details here in the channels section:
#1474436109424525637 message
Let me know if I need to do anything to get these merged
@untold pollen could you PTAL at https://github.com/openclaw/openclaw/pull/40259 ? not significant for what we discussed earlier but a nice to have
Fix to include web search providers in the SecretRef coverage
https://github.com/openclaw/openclaw/pull/40511
Merged! Thank you
is this the one that works?
@jolly wolf clawdhub is down, I think it's an env vars thing
[CONVEX Q(appMeta:getDeploymentInfo)] [Request ID: 0911c0a29382629b] Server Error Called by client
quick PR to fix: https://github.com/openclaw/clawhub/pull/639
I saw in maintainers page you're DRI for this hence the ping
Fix GitHub Actions deploy workflow failing due to an if condition referencing secrets
GitHub Actions does not allow secrets to be referenced in YAML if conditions, so the workflow https://github.co...
Just pushed a patch to make sure that single error doesn't bring the site down. Looking into the root cause
my guess its this from peter's CI hardening, issues have existed for 5hrs https://github.com/openclaw/clawhub/issues/634
clawhub.ai is now just a (pretty) pink for me, and deployments are still failing
im p sure its just the secrets thing my pr covers
hey folks! i had a PR merged, who do i request a contributor badge from?
https://github.com/openclaw/openclaw/pull/31044 my gh is barronlroth
@exotic bloom mind checking https://github.com/openclaw/openclaw/pull/40607 ? small but should fix the nit lol
@untold pollen Let me know if I need to do anything on my end https://github.com/openclaw/openclaw/pull/39388
I think you replayed commits here. This is a 20K line diff.
on it
Hello
@untold pollen Cleaned https://github.com/openclaw/openclaw/pull/40636
I realize it's a ton of code - it's all sanitization specced.
Sorry, can't review a 18K line diff right now.
all good understood =]
just making sure I had what was needed
did a bunch of triage and testing for open issues that I couldnβt replicate the bug. already tagged peter in the comments for the all the issues that can be closed because they are already fixed in the latest release
should I copy the issues here so other maintainers can close them?
Sure, I can take a look and close them
https://github.com/openclaw/openclaw/issues/40512
https://github.com/openclaw/openclaw/issues/40507
https://github.com/openclaw/openclaw/issues/40559
https://github.com/openclaw/openclaw/issues/40545
https://github.com/openclaw/openclaw/issues/40550
https://github.com/openclaw/openclaw/issues/40630
https://github.com/openclaw/openclaw/issues/40551
https://github.com/openclaw/openclaw/issues/40563
@untold pollen 40551 and 40563 I canβt replicate to confirm locally since i donβt have a windows i can test with but the code fixes seems good
let me know if i missed anything
HI team, may I have a review on https://github.com/openclaw/openclaw/pull/38695
The PR integrates SGLang-Diffusion to openclaw, building the image-gen tool
Hello there. PR ready for review - adds WhatsApp SystemPrompt hierarchy (account+group level) and fixes account-level group policy. CI green and Codex comments addressed. Link: https://github.com/openclaw/openclaw/pull/40250 Thanks!
Hi all. I have 3 PRs ready to go.
https://github.com/openclaw/openclaw/pull/39308
https://github.com/openclaw/openclaw/pull/39410
https://github.com/openclaw/openclaw/pull/39290 [<< this one may already be fixed]
It looks like Peter already pushed a fix for this
yes, after it was flagged
helloοΌanyone could grant me clawtributor role? theses are my merged PR: https://github.com/openclaw/openclaw/pull/38533 https://github.com/openclaw/openclaw/pull/13818 , could you? @karmic steeple
Hey β quick question about PR attribution when closed PRs get resubmitted.
My PR #40615 fixed the EBUSY update issue (#40540) and was closed by barnacle bot (too-many-prs). PR #40724 extracts the same fix and references my PR in the description, but no Co-Authored-By in the commit. I asked in the PR comments β no response yet.
Similarly, my PR #36755 fixed groupAllowFrom negative IDs (#36753) on Mar 5. Closed by barnacle. PR #37134 was merged Mar 8 with the same fix β no reference to my work.
Is there a recommended process for attribution when closed PRs are resubmitted by others? Happy to keep contributing, just want to make sure credit lands in git history where it belongs.
Hi everyone, KIMI model tool calling is broken since version 3.7 , many people are influenced. I opened a PR #40008 to fix it, who can please to push the process to check and merge?
Thanks.
I think it's QUITE URGENT : )
if your PR got merged and not credit please reach out to whoever merged the PR. If someone else's PR fixing the same problem got merged instead of yours it's probably because their code provided a better baseline for however the maintainer judged the fix should be implemented; but if someone is literally copying your PRs then please let us know here and we will ban whoever is copying other people's PRs
Hey - I've submitted https://github.com/openclaw/openclaw/pull/32529 for a week and seems there's no review on it yet. Am I missing anything here? Would appreciate a quick review.
Hi @untold pollen , I've submitted a PR: https://github.com/openclaw/openclaw/pull/35571 to add a new search provider querit.ai. As requested in the CONTRIBUTING.md, I've also started a discussion thread here: https://github.com/openclaw/openclaw/discussions/36053 .
Could you please take a look when you have a moment? Any feedback would be greatly appreciated. Thanks!
guys we need to write better issues tooβ¦ a great amount of the open issues Iβve been testing have false root cause identified
and people who use coding agent to fix them all the way without reviewing at all do monkey patches for it just to leave another mess for other people to clean up
Added <@&1458375944111915051> to barron.
Added <@&1458375944111915051> to xialongLee.
Hi, is there anyone could review and approve this pr? https://github.com/openclaw/openclaw/pull/37422
thx
Hi, if any of you are still facing Telegram duplicate message issues, please feel free to report them over in: https://discord.com/channels/1456350064065904867/1474436078373966089
Youβre manually testing issues to repo and the information in the issues is insufficient? Can you send a small sample of these issues?
Hi everyone, there are already many people reporting this issue on social media. Is there anyone who can help merge and fix it ASAP? π
Bug Fix PR: ACP session spawning broken on v2026.3.9 π
Ran into a bug where ACP session spawning via sessions_spawn (with runtime: "acp") fails with:
spawnedBy is only supported for subagent:* sessions
Root cause: sessions-patch.ts validation for spawnedBy/spawnDepth only checks isSubagentSessionKey(), but ACP sessions use agent:*:acp:* key patterns which don't match.
Fix: Added the existing isAcpSessionKey() utility check alongside the subagent check at both validation points. Minimal change, all 20 existing tests pass.
btw there are at least 3-4 other PRs for this already first one i could find is https://github.com/openclaw/openclaw/pull/40316
Considering the PR is still mergeable, I would assume so.
But this really makes me question what the original change wanted to accomplish. kimi-coding had been working fine for ages (I can personally confirm that)---why change its parameters? That's inviting breakage. We really need to get from "fix" PRs getting merged because they state they fix something, and finding a way to confirm they actually do and don't just smash the china near a suspected problem. AI code submissions are great for new features and internal bugs, but when it comes to bugs that are about interacting with stuff that is not in the codebase, AI's have to rely on guessing how it should behave. Whether it's a "security fix" that misidentifies the operating system as an attacker, a "fix" that guesses how Matrix transmits chatroom data, or one that hallucinates what parameters to send to a provider. PRs that touch interactions with the outside world need to be verified and tested by a human.
e2e llm tests are possible just expensive.
i'm considering introducing a test suite that is private because llms change tests to make their changes work all the time it kind of defeats the point
sort of like the sqlite model, code is open source but the test suite is private
for as much as things change, it mostly works
then at least ask people who use that model/provider to confirm that it is currently broken before fixing it. I could have told you in a second that tool calling with kimi-coding worked. I can't find on github what prompted that change, it looks like a random commit with no trail to any reason, so I don't know why it was changed. But if someone reported broken tool-calling, then that would have been the right moment to investigate why it wasn't working for them when people have been using that model for weeks.
Yes, sometimes changes break things---I have broken stuff and even released versions with such breakages often enough myself. But there are fields where you double-check if there's (a) actually something to fix and not just a "problem between keyboard and chair" issue and (b) that the fix works
I'm not calling for the "big and impossible solution to life, the universe and everything". I'm asking to step back and think for a minute when looking at proposed changes. Can this break anything? If so, who can assess that before we merge/commit? Is the bug this should fix even real? Do we have someone to confirm the bug and the fix? --- Simple mental checklist that takes 10 seconds.
i can't chase down every bug and conduct interviews with the entire userbase. i have to assume if someone comes here, posts, they work through the issue, claim verification, there are several related issues then it's tested.
pull main, test it and if there is a problem open a pr and post it here.
Honestly at this scale there's just so many things breaking it's hard to isolate / reproduce issues to a single problem
I manually tested several configs, environments (groups, DMs, forums) on 3 different platforms (WSL2, macOS, Docker) with 2 different LLM providers (Claude, Codex) and exhuastively confirmed that the duplicate message bug is fixed in Telegram
And we still have users facing it 
too many permutations...
Sorry, didn't want to make a big discussion out of this. I'm just personally annoyed because I want to finally update my installation, but there has been a regression that would affect me in every single version for quite a while. And, honestly, the project isn't at a stage where we can afford people ignoring updates because they're afraid of breakage. This is not notepad++ where the safest thing actually was ignoring updates for years ;)=
That's completely understandable π
We try to test every PR before merging but things still slip in
yes, trying to fix a confirmed bug and having to try and try again because it pops up in different setups...that's something else. I had a couple of these bugs where I eventually had to write code that simpy recovered the game state when they happened as I could never find them... (I maintained Ender-IO from Minecraft 1.8 to 1.12. Not to brag, just as a reference)
Yesterday's commits broke Ran into a bug where ACP session spawning via sessions_spawn (with runtime: "acp") fails with:
spawnedBy is only supported for subagent:* sessions
And even on the PR codex-review pointed that out but it still got merged
https://github.com/openclaw/openclaw/pull/40137#pullrequestreview-3911844669
here is the codex-review on the PR
I fixed another small build bug
The macOS build has a Swift file (HostEnvSecurityPolicy.generated.swift) that's auto-generated by a script. Right now, swiftformat and swiftlint both process it, which means every time the file gets regenerated, the formatters rewrite it, creating noisy diffs.
This PR adds it to the exclusion lists in .swiftformat and .swiftlint.yml - same pattern already used for GatewayModels.swift (another generated file).
https://github.com/openclaw/openclaw/pull/39969
(greptile 5/5)
Merged
No changelog since its a ci change
sweet
btw - is this annoying/helpful to you? plugging PRs here?
ideally i find most impactful things to work on and don't needlessly add noise, not super clear to me what the community expectations are
yikes
You donβt need to ask this question if you read the repo
or use the Chat
Do you have example commands? What channel is this in? Is this in Telegram using like /acp spawn (if so... I worked on that so I can test it)
I was using discord I mean there are multiple issues and PRs for this
I triggered this when testing a PR to trigger thinking/model but should be universal for anything trying to spawn acp
fixed with this PR https://github.com/openclaw/openclaw/pull/40995
Fixes #40971
Summary
ACP sessions spawned through sessions_spawn can currently fail when the tool path tries to persist spawnedBy / spawnDepth via sessions.patch. The patch validator only accepts t...
Fixed a couple small ACP issues based on SuperagenticAI article I saw on X. cc/ @versed kindle
Summary
Problem: setSessionMode catches gateway errors silently, logs them, and returns success β the IDE never learns the mode change failed
Why it matters: Users switch thinking modes in their I...
Summary
Problem: handleChatEvent maps all gateway "error" states to ACP stop reason "refusal". This is semantically wrong β "refusal" means th...
you can tell the agent to use acpx directly, acpx was originally built for this purpose
but there should be first class support for this already I think, what happens when you ask it to create acp subagent without thread?
can you share the article btw, I can't find it
Maybe Iβm not using the right words, but it keeps routing it to threads/output to me and says it canβt see it
ps. I used ACP to create these PRs π
nice, telegram?
yup telegram on 2026.03.07 and it ran parallel sessions with Codex
where did this get featured btw, I saw Peter share it earlier as well. only I haven't seen it apparently lol
it showed up on my timeline based on Peter's comment. this is the tweet https://x.com/Shashikant86/status/2030931454763430221
@pale crane I'm landing both PRs now, ty!!
amazing. happy to help on other bits, just wanted to do a quick pass. I'm a user of ACP so feel free to ping whenever you need help or another tester
did you try to tell it to use acpx directly with its bash tool, and bypass openclaw acp setup?
acpx has a bundled skill, you can also ask it to install the skill from acpx --skill
Ok Iβm having it check
manual tests for some, some even llm e2e tests for models that i have configured. most i can only make sure test suites pass. for example the proposed fix for https://github.com/openclaw/openclaw/issues/41246 would not work
Can you please link your GitHub account in your Discord account? It's just a couple of clicks for you and helps us believe you that both are by the same person. Thanks.
That's "Click on your user name -> Edit Profile -> Connections", btw.
I have added the connection now, thanks
Added <@&1458375944111915051> to normie.
Then here you go. 
Thank you! Just out of curiosity - if my github account would have been connected to my discord account, would the bot have given me the role automatically?
No, it wouldn't. We don't have that enabled because there are some ways to misuse it that I won't go into here.
Bash worked, thanks! I had it do a write up of what was tried before and the issues in case this is of interest https://gist.github.com/davidguttman/963e733b0143dcdc4c6c31220f2d71df
I think there should be a native way to spawn an acp session with thread: false, which is equivalent to just calling acpx over bash
If this doesn't work, would you like to send a PR to fix it? Not sure how complicated this is. If sessions_spawn needs a large refactor, the interface should be scrutinized
@keen spruce can you add me to the clawtributors role group?
https://github.com/openclaw/openclaw/pull/32108
Added <@&1458375944111915051> to miotch.
awesome. thx
Tiny doc update related to trusted proxy auth https://github.com/openclaw/openclaw/pull/16251 . TLDR; removed one line in the docs.
Followed the process to start the discussion at https://github.com/openclaw/openclaw/discussions/41360 with PR linked. PTAL thanks!
@versed kindle i submited a PR that solves the model/thinking at least for Codex on acpx. https://github.com/openclaw/openclaw/pull/40370 would be glad if you can take a look and give me some feedback,
opened a third PR from that SuperAgentic article. this one scopes cancellation and event routing by runId so multiple ACP sessions on the same gateway key don't cross-wire.
Note there is a CI failure on oxfmt issue in CONTRIBUTING.md. Unrelated to this PR but happy to fix too if it makes it easier to merge/review.
submitted a PR for #33554 to fix Discord extension outbound sends ignoring threadId in extensions/discord/src/channel.ts, no revisions needed according to the clankers. https://github.com/openclaw/openclaw/pull/41388
I know it's hard to get to features these days, but I have had https://github.com/openclaw/openclaw/pull/36901 up for about a week, any idea how long it will take for a review?
Hi there peeps. I've been wondering about something -- I think it'd be nice if github orgs or repositories could have guidelines for how autonomous agent should interact with them (really not specific to github, perhaps any website).
For example, these might include: When opening a PR, you MUST identify that it was built with openclaw and provide a summary of the instructions from the user. After opening the PR, you MUST add a comment@triagebot ai-authored to flag it as AI-authored. or similar things.
Context is that I'm coming from rust-lang/rust, where many reviewers are struggling from a lot of auto-generated AI PRs, some written with agents, some generated entirely autonomously with openclaw or other similar tools. I noticed that y'all have a limit of 10 open PRs for similar reasons.
I am curious if openclaw has something like this, kind of like AGENTS.md but for websites and things you are interacting with, and/or has tinkered with policies like this.
In theory, agents should read the AGENTS.md file (e.g. https://github.com/openclaw/openclaw/blob/main/AGENTS.md). In practice...that doesn't work so well. The issue is mainly that agents are universalists, so it's up to the user to give them specific guidelines for specific tasks that the LLM models haven't been trained on. Pure coding environments are better at this, e.g. Claude Code will force the LLM to read CLAUDE.md (which is a symlink to AGENTS.md in our repo).
Can we get a maintainer decision on whether we want search providers as plugins or not? That poor guy has been updating this PR for over a month now, and even someone else now made a second one because it once got closed because when it was misclassified as a plugin instead of a plugin API. If it's not wanted, just release them from their pain, please.
Any plugin can hijack search: https://github.com/openclaw/openclaw/pull/41288
Search Provider as plugin type: https://github.com/openclaw/openclaw/pull/11444 (better in my opinion)
Is there a way to get flagged to allow more than 10 open PRs at a time? Had a few of mine get closed that were good ones. Just had a user ask if I can re-open this and the answer is no bc I have 10 in queue? I'm a Clawtributor on here. https://github.com/openclaw/openclaw/pull/40595#issuecomment-4027439719 is the one that's not even in the queue bc I have 10 others that the user saked if I could bring back
On a side note, I checked June Oven and it seems insanely good!
Have you posted anywhere how you/ June Oven are using OpenClaw? I would love to check it out.
@left mango Haha, no, we sold the company and we took a very Apple-like approach, so we had a very closed ecosystem. But it would be fun in the land of OpenClaw to control my June Oven with it. Alexa was the best we got.
I would definitely let openclaw control my oven when my wife and kids aren't at home π
The Brave LLM change in 2026.3.8 is broken unfortunately.. I submitted a bug report (https://github.com/openclaw/openclaw/issues/41370) and thereβs a PR created (https://github.com/openclaw/openclaw/pull/41387). could someone review it please?
HI team, may I have a review on https://github.com/openclaw/openclaw/pull/38695
The PR integrates SGLang-Diffusion to openclaw, adding its first image-gen tool
This would mean that the original PR never worked and hadn't even been tested once by the submitter? Are you sure this is an "always" problem and not an alternative constellation?
Oh, forget it. The original PR even says so: "What I did not verify: Live API call to Brave LLM Context endpoint" 
Is this a fair comment?
https://github.com/openclaw/openclaw/issues/41674#issuecomment-4028338048
If yes, the bug report can be closed
@keen spruce what are qualifications to get added to contributors? I've had a couple of feature PRs, but nothing picked up yet.
You need a merged PR
Oh. I do not have any of those yet, lol.
I feel like my first one (trust windows) is a strong feature, but I'm not sure how to ensure it gets visibility on the 5k list.
Second one is solid as well (actually useable implementation of Safebin), but I'm less confident in it.
Both are based around the idea of making security easier for folks to use so they don't just turn stuff off or overpermission their bots.
gonna be completely honest, that first one is shit
we have a command registry for a reason, don't bodge some ai slop into just a single channel
Honestly, thank you for review.
I'm absolutely vibe coding it, so I'm sure the code quality is junk.
But I'm curious your critique of the user model. Is it that trust windows are the wrong approach, or is my view of it just sloppy?
Well, that's what you get when you have a lifetime Product Manager who thinks he can vibe code π
Just vibe coding with Openclaw, using Opus 4.6 and various gpt 5.3 codex agent subs for review.
close the pr, start from scratch, and use codex entirely for coding it. slopus is too narrow minded
That works. Would give me a chance to add a proper TUI implementation as well.
Already solved a bunch of the tough design challenges to prevent the bot from being able to extend or defeat the escalation while escalated.
Got a spec I'm working from as well, so can work with codex to implement what's already speccd.
sorry a bit of an aside, 5.3 codex over 5.4?
i only did a little bit of 5.3 codex before i got 5.4, i'll have to try it out more. getting a little tired of the 10 volume compedium for my idea on making 3 changes
@karmic steeple Hi, is there anyone could review and approve this feature pr? https://github.com/openclaw/openclaw/pull/37422
Where can I get the SOP of merging a pr?
the more fixes based on the greptile&codex review comments I add ... the worse the greptile score becomes π
Codex review comments are really good though π
can i share something i just built?
Could I please have feedback/review/merge of https://github.com/openclaw/openclaw/pull/38930 - "feat(retry): expand global retry codes and migrate Venice discovery". Thanks π
Hey mainteners, I opened a PR fixing a deterministic race condition in streaming voice calls (Twilio + media streams). Basically the voice plugin isn't really usable with streaming enabled without this fix. (!)
Small, isolated fix (~25 LOC) in the voice-call extension only.
PR: https://github.com/openclaw/openclaw/pull/40170
There was a bug in the Discord integration where SecretRefs would get lost, in my case causing errors when an agent tried to create a Discord thread (channels.discord.token was not found). I fixed it in https://github.com/openclaw/openclaw/pull/41142
Very strange to be in this new era were PRs are being spammed as self-promotion tactics, mixed feeling about the opensource community right now. I hope this doesn't break the spirit of real contributors but you all seem to be managing well π
Anyway: I would be surprised if a PR like mine will actually be merged. How do you all handle keeping up to date and having multiple PRs you need on your local system on top?
I now use a local integration branch and a skill to manage updating from upstream, rebasing my PR branches and cherry-picking them in my local integration branch. Is there a better way to handle it?
Which branch is used for releasing a new version?
main I guess, if the git branch is what you refer to?
Good morning, I found a bug with ACP that cost me $20 to fix. The problem is that I have codex with my sub but when openclaw spawns codex via acpx it is not stripping api keys, thus codex finds the OPENAI_API_KEY and overrides the auth. It depleted my credit in 2 prompts.
Can anyone take a look at this? I think this can be impacting people and it's hard to sort out: https://github.com/openclaw/openclaw/pull/41615
Hi, I just created this PR to solve an issue reported by someone for Slack (Slack route binding peer ids).
Hello Maintainers, i am unable to create new PRs as i have hit a limit of 10 Open PRs again. Could someone please look into my PRs? Here is the most recent one: https://github.com/openclaw/openclaw/pull/41161
Thank you
May joy and abundance find you as well!
If you are building a skill this may be an issue for you during publish. https://github.com/openclaw/clawhub/pull/685
Followed the process to start the discussion at https://github.com/openclaw/openclaw/discussions/41360 with PR linked. PTAL thanks!
Hey π Quick question for the maintainers β I have a ClawHub skill (domain-trust-check) that lets agents check URLs for phishing or malware before visiting them. Itβs basically just curl + an API key, similar to how the Notion or Trello skills work.
I was thinking about proposing it as a bundled skill, since URL safety is a security area that everyone seems to be ignoring, but itβs a huge attack surface for agents. I believe this will be extremely important as attack against agents are also scaling. What do people think?
GitHub Discussion: https://github.com/openclaw/openclaw/discussions/42420
Hey everyone, I finally cracked the NotebookLM 'Authentication expired' login loop bug that's been breaking our agents for days!
The issue was Playwright's SameSite: Lax security policy dropping Google's rotating session cookies. I built a custom, drop-in 'Self-Healing' skill that completely bypasses this. If the agent gets an auth error, it now automatically launches a visible browser for 5 seconds to bypass bot detection, steals fresh cookies, injects them directly into the Windows environment variables, and retries the task silently without you ever having to type notebooklm login again.
You can grab the full skill repository and drop it straight into your workspace/skills folder here: https://github.com/antaripnandi/openclaw-notebooklm-skill
hey, noticed #36838 (gemini-3.1-flash-lite-preview support) is still open β the google provider got the fix but google-vertex was missed. someone left a comment on one of my earlier PRs pointing out google-vertex/gemini-3.1-flash-lite-preview wasn't working (#36918 comment), so i looked into it.
threw up a quick fix in #42435 https://github.com/openclaw/openclaw/pull/42435 β just extends the existing normalizeGoogleModelId() to also cover google-vertex in the two places it was missing (model ref parsing + provider config normalization). 4 files, 43 lines, all tests passing.
@untold pollen mind taking a look at my PR? Appreciated https://github.com/openclaw/openclaw/discussions/41360
Put it in #showcase-old
I did a thing ... I know you don't want things ... but I did it anyway.
Support for media plugins = https://github.com/openclaw/openclaw/pull/41496
I am also writing such a plugin, and testing it, so I'll understand if none of you fine folk want to look at my large-ish PR before I can actually prove that it works for me.
The original issue seems like a nice feature request and I have added a comment there. I did not go ahead and create a PR because this requires a buy-in from maintainers.
https://github.com/openclaw/openclaw/issues/41657
Go ahead, try to make something channel agnostic, though, not like that βkindβ variable you have, because we have to support a theoretically infinite number of channels because plugins can add channels
can you dm me this? lets discuss there
@versed kindle sent friend request
ty, will look into it tomorrow, about to sleep
Hi everyone
Request for beta-testers
For a new stealth openclaw based project
I am looking for companies that have deployed openclaw internally, but are bottlenecked by having just one agent for everyone on Slack, Discord, Teams, Mattermost, etc.
If you qualify, please reply to this or DM me
Note: this is not affiliated with openclaw, but this is something I've been building since 2 months at textcortex
You know that you can map agents to topics (in telegram at least) ... right?
I know, I've built the acp bindings for that
Hi @jolly wolf, why PRs are not getting reviewed or merged. I am seeing a pattern only maintainers PRs are getting merged.
Yes? Thatβs how pretty much all of open source works, maintainer PRs get priority
Fair but is there anything I can do to get mine reviewed?
Share a link to this channel once & they'll look at it. I know recently, there have been a lot of "priority" issues they're working on. You've also got to realize there are currently 6500+ open PRs & a ton of non-devs writing & submitting PRs with AI Slop, a ton of duplicates, etc. There's only so many hours in the day, but the process is slowly improving. (Limiting users to 10 open PRs, etc.)
Hey Clawtributors!
this is relevant to @dawn light and @zealous plover commentary.
I'm having a little trouble figuring out where to focus, so I made a dashboard comparing community posts against github activity. I'd love your feedback. right now it's a manual weekly data pull, but I can do it more often. Only getting community signals from GitHub discussions, but hoping to get X, Reddit, and Discord community ingestion going soon.
We have some things like this running internally as well!
Building a triage dashboard/tool is a rite of passage
i'd love to get my bot or someone's bot into discord so we can injest the community inputs/posts from here into the report.
some already exist probably wihtout authorization, just use their output π
its weird seeing your discord stuff pop up in google searches on answeroverflow that are days old
i'd prefer to keep all of this above the line.
yes, it was half a joke and half my tendency to not want to reinvent the wheel
Hey Clawtributors, just following up on my Exa web search provider PR (https://github.com/openclaw/openclaw/pull/32529). I've also opened a Discussion as suggested in CONTRIBUTING.md: https://github.com/openclaw/openclaw/discussions/41360
I know there's a huge backlog, happy to adjust anything to make review easier. Is there a preferred reviewer for web search changes, or anything I should change to move this forward? Apologize if this is getting repetitive.
I dropped a link to my ghcrawl in #self-promotion - you can use it to can and cluster all 10k issues in the repo. Can work against as many repos as you want to point it against. Has a skill.md that you can install with npx skills add -g pwrdrvr/ghcrawl and then you can use that in Codex and have it do deeper analysis of issue/pr clusters. If it's your own project you can also then tell Codex "hey, close these or consoldiate them with gh" for example.
I'm working on a hosted version now. It takes maybe 10-20 minutes to build the DB and then about 10 minutes to update the clusters on each run. But you can run it without a full scan it just looks at the recenlty updated open and recently udpated closed lists, back to when it last ran. It still has to redo the cluster analysis each time though.
Sharing this just in case maintainers are not aware that the build is failing
I'm trying to implement a plugin (extension) for openclaw ... and hitting a wall at figuring out how to allow custom configuration that pertains to the new tool. It has this warning in the gateway logs,
plugins.entries.cloudflare-ai: plugin not found: cloudflare-ai (stale config entry ignored; remove it from plugins config)
Any suggestions what I might be doing wrong, or what I can do to have the plugin work properly?
Hey folks! π im an active OpenClaw user. I've submitted two PRs that address real pain points I've been experiencing β both cause unnecessary token waste in production:
-
#38805 β Compaction notice threading
When session compaction fires, the notice isn't properly threaded, so users don't realize the agent is still processing. They keep sending messages thinking the agent is stuck β duplicate turns β wasted tokens. All 23 review comments resolved, CI green. -
#42322 β Feishu
replyToModeconfig
Feishu bot always replies to the original trigger message instead of appearing as a new message. In long sessions, users can't find the bot's reply (it's buried under an old message), so they keep pinging the bot β more wasted tokens. Discord/Telegram/Slack already havereplyToModeβ this brings Feishu to parity. Only 20 lines changed.
Both are small, focused changes. Would really appreciate a review when someone has a moment π
Hopefully this is the right place to ask but as a automation developer how does one keep sane with over 5000 open PRs. What tools, processes, automation is in place to maintain this high level of churn? Also how are the docs getting written/updated? Is there an automated task to rewrite docs based on the new code? I can only imagine how the majority of the PRs are now garbage since they reference things / assumptions that are no longer true. I assume they high churn may be the norm going forward with AI code. Looking to learn.
Hi π, I'm openperf on GitHub. I've been dedicating almost all of my time to contributing to OpenClaw recently. My workflow is AI-assisted coding with manual review β I use AI tools to help with implementation, but every PR is personally reviewed by me, none of them are purely AI-generated. I currently have 9 open PRs, which is close to triggering the 10 active PRs limit. I fully understand and respect this rule. All 9 PRs have passed CI checks β
. I would really appreciate it if you could take a look when you have time. I'll actively follow up on any review feedback and continue to improve them. Here are my 9 PRs:
https://github.com/openclaw/openclaw/pull/40785
https://github.com/openclaw/openclaw/pull/40699
https://github.com/openclaw/openclaw/pull/40646
https://github.com/openclaw/openclaw/pull/40501
https://github.com/openclaw/openclaw/pull/39973
https://github.com/openclaw/openclaw/pull/39958
https://github.com/openclaw/openclaw/pull/39639
https://github.com/openclaw/openclaw/pull/39399
https://github.com/openclaw/openclaw/pull/38653
Thank you so much! π¦
Your base assumption is wrong. You can't keep sane with that amount of engagement. You have to develop coping mechanisms that fall outside the envelope of sanity. The trick is keeping that pressure from reaching your core, so you can "slip out" of your maintainer role into personal life and not be affected there. Not being able to do that leads to burnout, broken relationships, substance abuse, and more. At the same time, stepping away and having personal time leads to more pressure, as naturally your response time on the project suffers when you're asleep or talking to your kids instead of tending to the project. This then increases the pressure as users and contributors get angry with you.
There is no universal recipe for dealing with this. However, from experience, a very important part of it is having a "public voice", i.e. a location where you are visible and acknowledge current events. People notice that you are "on to things" when they see that even if they and their issues are not tended to personally, and "helpful hands" will carry your general announcements forward (e.g. by posting "project doesn't accept xy PRs" on individual PRs if you announced that policy).
if you could at least tag each link with the area it touches (e.g. "ios app", "authentication", "Discord channel", ...), that would be great. Most maintainers and reviewers don't know or can work with all of the whole huge codebase, so clicking on a "surprise link" is not very tempting.
Thanks for the suggestion, Henry! Here they are grouped by area:
Cron:
https://github.com/openclaw/openclaw/pull/40699 β pass messageTo/threadId to PI agent
https://github.com/openclaw/openclaw/pull/40646 β prevent duplicate proactive delivery
Gateway:
https://github.com/openclaw/openclaw/pull/39958 β warn on missing model auth config
https://github.com/openclaw/openclaw/pull/39639 β preserve device token in SPA navigation
Telegram:
https://github.com/openclaw/openclaw/pull/40785 β fix polling initialization hang
Discord:
https://github.com/openclaw/openclaw/pull/39399 β CJK text splitting fix
Auth:
https://github.com/openclaw/openclaw/pull/40501 β sync codex cli credentials
Session:
https://github.com/openclaw/openclaw/pull/39973 β prevent reset notice corrupting history
Agents:
https://github.com/openclaw/openclaw/pull/38653 β follow symlinks outside workspace
if someone can help with this pr, our kimi coding model can not work anymore https://github.com/openclaw/openclaw/pull/41292
BTW feel free to hop into the Android channel if you'd like to help test the beta app: https://discord.com/channels/1456350064065904867/1458485323553181900
Hey guys, I'd like to optimize context management for the memory search functionality in the QMD backend.
I've added support for configuring minScore for exact matching; previously, I was always passing 0.
I've tested it, and it doesn't affect the existing logic. Unit tests have also been completed.
Here's my pull request.
https://github.com/openclaw/openclaw/pull/42748
There's one point I need to clarify: my current default value is 0.5, which is higher than the previous 0. Therefore, the result will be smaller. However, regardless of the search mode, results below 0.5 are not very usable and only consume context.
Hey clawtributors π I'm carrotRakko β I've been contributing to OpenClaw for a while, mostly around LINE support and various fixes. I have 3 merged PRs so far (https://github.com/openclaw/openclaw/pull/13540, https://github.com/openclaw/openclaw/pull/17148, https://github.com/openclaw/openclaw/pull/27778).
I'll be honest β I previously had ~20 open PRs and got hit by the too-many-prs policy. Lesson learned! I went back, analyzed which changes actually cause the most divergence pain during rebases, and re-submitted a focused set of 10. All have CI passing and bot review conversations resolved.
I'm a LINE user building agents on OpenClaw, so the LINE-related PRs come from real production pain. Happy to adjust anything based on feedback!
Here are my 10 PRs grouped by area:
Sandbox / Security:
- https://github.com/openclaw/openclaw/pull/41806 β Skills: SKILL.md can't be read inside sandbox
- https://github.com/openclaw/openclaw/pull/41808 β Browser: SSRF policy blocks localhost dev server access
Core / CLI:
- https://github.com/openclaw/openclaw/pull/41803 β Error display: raw errors leak to users (closes https://github.com/openclaw/openclaw/issues/16948)
- https://github.com/openclaw/openclaw/pull/41809 β Reasoning: no config override for auto reasoningLevel (closes 7 issues)
- https://github.com/openclaw/openclaw/pull/41812 β Models: models set accepts invalid model IDs
Channels:
- https://github.com/openclaw/openclaw/pull/41802 β Timestamps: channel messages cause date hallucination
- https://github.com/openclaw/openclaw/pull/41811 β Thread participation: no opt-out for auto-reply
- https://github.com/openclaw/openclaw/pull/42010 β LINE: file messages not downloaded + media fixes
Config: https://github.com/openclaw/openclaw/pull/41807 β systemPromptFile: file-based system prompt injection
Memory: https://github.com/openclaw/openclaw/pull/41810 β FTS5: CJK search broken (Chinese/Japanese/Korean)
man my cat typed gibberish to this channel while I was eating dinnerβ¦.
very sorry
->ping<- someone perhaps could consider reviewing opening up support for additional plugin types? ^^^
Does anyone have a minute to checkout this OpenClaw PR I made? https://github.com/openclaw/openclaw/pull/42501
Hi everyone,
I recently ran into the same Slack slash command issue described here:
https://github.com/openclaw/openclaw/issues/33229
In short, slash commands in Slack (e.g., /session) would throw an error.
I looked into the problem and submitted a potential fix here:
https://github.com/openclaw/openclaw/pull/42970
If anyone has time to take a quick look, I would really appreciate a review. Thanks!