#clawtributors

1 messages Β· Page 4 of 1

final ocean
#

also can be skills etc

noble moth
modern kestrel
# noble moth Attached in Summary section. https://github.com/vezaynk/openclaw/pull/1 Still n...

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.

lean seal
foggy stream
#

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.
foggy stream
open bluff
#

i'm hoping i dont have to use claude code gemini cli and codex to tear apart the codebase and fix it manually

past haven
#

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

sonic ermine
#

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 🦞

shadow cloak
#

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)

tawny vine
crimson wren
#

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 πŸ™

https://github.com/openclaw/openclaw/pull/20304

white galleon
#

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!

keen spruce
#

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.)

shadow cloak
#

Is it potentially bonjour for the mDNS advertiser?

white galleon
#

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
white galleon
#

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

keen spruce
#

I've injected a fake "ip" that outputs damamged data in hope of triggering an error, but no luck that way

shadow cloak
#

src/infra/bonjour.ts uses @homebridge/ciao

#

but not sure if that codepath is being triggered

keen spruce
#

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?

white galleon
keen spruce
#

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.

shadow cloak
#

You could just disable bonjour, do you really need it?

keen spruce
#

I didn't even know bonjour was in there. And I don't know what it even does for openclaw...

shadow cloak
#

it's a convenience feature for the client apps to find a gateway on lan

#

you probably don't need it

keen spruce
#

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.

keen spruce
#

btw, having the weather skill enabled by default and including weather checks in the AGENT.md's hints what to do regularly, we've killed wttr.in...

inner ledge
#

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)

untold pollen
inner ledge
untold pollen
#

Unless users build it themselves sharing non-official APKs is not something I recommend

inner ledge
vocal geyser
untold pollen
#

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

inner ledge
untold pollen
vocal geyser
#

Also is there a reason why it's not unified between macos/ios/android and other plugins?

sharp cargo
#

And LAN has needed ssl for at least a month. It was like that when I installed it

dense ingot
patent bone
#

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.

hoary pendant
empty fjord
#

still tryna figure out what pr to make

modern kestrel
untold pollen
rich spade
untold pollen
#

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

rich spade
#

ah darn, was hoping to start trying to be a contributor/maintainer. But guess I'll have to be patient! Thank you

limber silo
#

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!

untold pollen
#

Merged, thank you ❀️

halcyon axle
#

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

viscid lotus
#

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

raw crest
#

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

sonic ermine
#

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 πŸ˜‰

viscid lotus
#

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]⎯

sonic ermine
#

(my opinion)

stable pewter
viscid lotus
dry spruce
#

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.

untold pollen
dry spruce
#

Hi β€” I opened a PR to add a DeJoy

untold pollen
#

@dry spruce there are 5k+ PRs open. Please don’t tag maintainers.

dry spruce
#

Got it, Thx!

burnt dagger
plain perch
#

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!

fallen jolt
#

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!

fallen jolt
shrewd heath
glacial lodge
#

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)

drifting fractal
#

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.

outer cloud
#

my agent

#

got an pr accepted he sounds so happy lmao

#

πŸ˜‚

final ocean
keen spruce
# final ocean 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.

drifting fractal
#

Alright, what should I do differently?

fossil adder
#

πŸ” 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

  1. Low-cost conversational planning layer

    • Discuss changes
    • Pull GitHub context as needed
    • Refine improvement ideas
    • Minimize API token burn
  2. Explicit human approval

    • No execution until approved
  3. Structured backlog submission

    • Approved items enter a tracked execution queue
    • Status queryable
  4. Execution agent runs against staging

  5. 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.

keen spruce
# fossil adder we get flagged for CVEs that don't apply in our products, it does take some thin...

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"

jolly wolf
#

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

keen spruce
#

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.)

jolly wolf
wooden prawn
#

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?

https://github.com/openclaw/openclaw/pull/29008

keen spruce
wooden prawn
#

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

slow pagoda
keen spruce
wooden prawn
#

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?

jolly wolf
wooden prawn
#

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

keen spruce
# wooden prawn from what I can see, the jwt is a drop in replacement for the gateway token, it'...

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.

glacial lodge
# glacial lodge Any maintainers available for review this PR for adding a new provider (StepFun)...

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.

https://github.com/openclaw/openclaw/pull/27211

wicked patrol
raw crest
#

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.

wooden prawn
# keen spruce I'm pretty sure the current pairing using device keys system already does all th...

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.

hoary pendant
dusky hollow
#

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!
shadow cloak
#

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

shrewd heath
# shrewd heath Hi reviewers/<@159162842161872896>, quick heads up: I opened a bugfix PR 5 days ...

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?

shrewd heath
tall prairie
#

I think mods give them out

shrewd heath
#

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

viscid lotus
#

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. 😁

final ocean
#

Main is passing tests fine

#

Closing PR, we will resolve any bad tests

lean nova
#

Hiya! can anyone explain not planned to me?

slow pagoda
# viscid lotus Also, **widingmarcus-cyber** has created a PR to unblock a failing test blocking...

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.

final ocean
viscid lotus
#

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. πŸ‘

shrewd heath
dusky hollow
#

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?

sharp cargo
shrewd heath
# dusky hollow well,I want to contribute a new feature.But I see the CONTRIBUTING.md said I sho...

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.

slow pagoda
#

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!

shrewd heath
slow pagoda
shrewd heath
keen spruce
#

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.

slow pagoda
shrewd heath
hoary pendant
#

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

#

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 ...

marsh seal
#

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!

oak shard
#

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

viscid lotus
icy plover
#

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?

final ocean
#

we regularly make many changes at once so ci can fail on main

icy plover
#

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.

final ocean
#

its not a hard rule for us internally to make it fast

#

pass*

neon gorge
#

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

final ocean
neon gorge
#

thanks

dusky hollow
dense forge
#

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?

shrewd heath
dusky hollow
shrewd heath
dusky hollow
shrewd heath
tawny vine
dusky blaze
dusky blaze
#

@tawny vine - thank you πŸ™‚ Done!

hallow badger
keen spruce
sour condor
#

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?

viscid lotus
#

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.

hoary pendant
#

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

shut forge
drifting fractal
inland field
#

may i have the role sire

viscid jayBOT
thorny coyote
#

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

thorny coyote
zenith stone
#

nice

formal berry
#

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?

zenith stone
#

i think it's better to ignore the issues

#

or make separate PRs for the other parts of the docs

formal berry
#

Now I have to remember how to work with git locally and squash lol. I'm so out of practice

zenith stone
#

you got this!

shadow cloak
zenith stone
#

wow, that's a large PR

#

might be good to ask whether this is something that the maintainers would want

shadow cloak
#

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

zenith stone
#

here!

shadow cloak
#

okay perfect πŸ˜‚

zenith stone
shadow cloak
#

I'd also be happy to maintain this specific feature, I've deployed my fork for my own setup atm

shadow cloak
#

Okiedokes

#

I'll close for now to not contribute to the sea of 5000 open PRs

zenith stone
#

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.

viscid lotus
viscid jayBOT
viscid lotus
lethal lodge
viscid jayBOT
raven kernel
lethal lodge
zenith stone
#

Yay

formal berry
#

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:

https://github.com/openclaw/openclaw/pull/31858/changes

jolly wolf
formal berry
jolly wolf
#

I could kind of see a point if this was targeting more experienced people, but those experienced people could just add the flag

jolly wolf
formal berry
#

That does make sense to me. I was seeing it from the perspective of making updating using the shell script route easier

foggy dragon
#

Any way I can contribute (open requests, bugs, etc)? Im a seasoned dev with 25 years experience from front end to data stuff.

nocturne plume
#

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.

https://github.com/openclaw/openclaw/pull/26918

nocturne plume
sharp cargo
jolly wolf
glossy yewBOT
foggy dragon
#

Im gonna need a bot to figure out which one to help with.

vocal geyser
marsh seal
#

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.

vocal geyser
#

legit question to the more experienced Clawtributors, when you stop trying to make the vibecoded stuff perfect ? And just say this is good enough

pearl lintel
#

Has anyone succeeded in get the browser relay extention to work ?

sharp cargo
foggy dragon
vocal geyser
#

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.

mental rivet
#

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.

empty jolt
#

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

marsh seal
viscid jayBOT
twin mirage
#

ha all πŸ™‚

modern kestrel
#

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?

viscid jayBOT
tall prairie
#

you've been knighted!

twin mirage
#

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

marsh seal
vapid pawn
#

Heads up Lobster Crew 🦞**

main currently 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:

  1. #32122: Fixes a blocking duplicate test helper in Synology Chat.
  2. #32159: Fixes an intermittent skill-scanner cache invalidation flake.
  3. #32165: Fixes a non-deterministic mock state flake in Cron tests.
  4. #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.

hazy jasperBOT
#

@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.

viscid jayBOT
#

@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.

jolly wolf
mental rivet
#

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 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.

GitHub

Summary
Describe the problem and fix in 2–5 bullets:

Problem: openclaw models auth login with openai-codex errored out (no plugin available for provider), so Codex login could fail with provider/p...

full hearth
#

was there an update to the browser relay

left mango
viscid lotus
#

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 πŸ™ πŸ˜‡

mental rivet
viscid jayBOT
oak fiber
#

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?

mental rivet
jolly wolf
#

looks like a pr for test fails gonna ban

mental rivet
unborn isle
#

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 πŸ˜„

heavy rune
#

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

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?

heavy rune
#

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.

white galleon
#

will fix that

keen spruce
heavy rune
# white galleon will fix that

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

GitHub

Summary

Problem: The diffs plugin was injecting static guidance into every prompt turn, even when the conversation had nothing to do with diffs.
Why it matters: This adds noise to session context/...

hearty condor
#

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

keen spruce
sharp cargo
#

hey sweet someone (peter?) fixed the tool result compaction code

zealous plover
proven moon
drowsy light
silver crown
#

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

oak fiber
vapid pawn
#

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.

dawn light
modern kestrel
#

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...

vapid pawn
#

@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
dawn light
icy plover
#

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

dawn light
burnt dagger
viscid lotus
dawn light
icy plover
# tall prairie Link?

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

vapid pawn
#

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

raven kernel
inland field
jolly wolf
inland field
marsh seal
digital frost
#

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

sharp cargo
spring yacht
#

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!

unkempt jewel
#

Can anyone get me the invite for iOS node app? Tysm

dawn light
oak shard
dawn light
#

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.

tall prairie
timber pumice
#

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

marsh seal
sharp cargo
#

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

shut forge
sharp cargo
#

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

deep tundra
#

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.

  1. 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
  2. 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 😊
sharp cargo
#

starting to suspect that that change did not, in fact, obsolete my PR

sharp cargo
#

ah, i got scared by a refactor

sharp cargo
#

it's a one-liner!

tall prairie
sharp cargo
#

all i know is i could have been doing my actual job but i got sniped into fixing a regression

tall prairie
sharp cargo
#

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

hoary pendant
#

I just pastied a couple of screenshots

sharp cargo
#

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

hoary pendant
sharp cargo
#

hot

hoary pendant
#

fixing the codex/greptile things now

sharp cargo
#

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

keen spruce
sharp cargo
#

Well it would have barfed on anything over 2k

#

but still

hoary pendant
sharp cargo
#

ooh neat

deep tundra
sharp cargo
#

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

oak fiber
#

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

frail karma
#

Looks like I've been posting into the wrong channel... forwarding here.

sharp cargo
#

thanks for totally rewriting my pr to actually be sustainable @untold pollen ❀️

sharp cargo
#

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!

sharp cargo
#

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

keen spruce
sharp cargo
#

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

keen spruce
#

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...

sharp cargo
#

oh i also had a 30 minute timestamp change somewhere at token 9.7k

#

i hope that's just the system event thing

keen spruce
#

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

sharp cargo
#

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

keen spruce
#

My main session hasn't been reset for weeks...only compacted. But then, I am very careful with what versions I upgrade to...

sharp cargo
#

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

keen spruce
#

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)

sharp cargo
#

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

rough flint
#

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!

daring sable
#

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 😊

plain perch
tall prairie
proven moon
#

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

stiff flame
#

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 πŸ™

tall prairie
rustic remnant
#

With the overwhelming number of PRs how does one actually get picked for merging?

white galleon
rustic remnant
sharp cargo
#

It’s a β€œsecurity fix” it’s very annoying

tall prairie
sharp cargo
#

Yep just always want to test stuff locally first πŸ’œ

earnest smelt
#

Hey fellas, I just joined this community, hope I can catchup with lots of happening in the OpenClaw space right now! πŸ™‚

sharp cargo
#

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 ..)

carmine mural
#

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!

tall prairie
sharp cargo
#

yeah i'm writing one of those but like you say, pita. Slot cache debugging on llamacpp is at least helping

tall prairie
#

No need to write one it already exists it’s called mitm proxy πŸ™‚

sharp cargo
#

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 πŸ™‚

sand sand
#

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.
tall prairie
#

Just curious

sand sand
#

no actually. i just looked to see if whatever provider i have was listed. i've used it via openrouter, google, openai codex. i was not aware of custom provider until someone tagged my issue in theirs.

tall prairie
#

We’re not against new providers just wanted to give you workaround

vocal geyser
# tall prairie 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?

sharp cargo
#

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?

atomic nimbus
#

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! πŸ™

red sparrow
red sparrow
oak fiber
#

it there a specific roadmap about how openclaw going to do next recently?

muted frost
#

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

glacial lodge
#

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.

sand sand
#

what does this mean for the first-class support? i think it's still worth integrating?

keen spruce
#

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, ..."

glacial lodge
# keen spruce In my opinion, for all that it's worth (which isn't that much here), everything ...

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.

final ocean
keen spruce
#

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.

final ocean
#

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

glacial lodge
glacial lodge
#

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.

final ocean
final ocean
keen spruce
#

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

final ocean
#

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

keen spruce
#

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 ;)

final ocean
glacial lodge
sharp ivy
#

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!

glacial lodge
#

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?

frail karma
#

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! πŸ™

lunar goblet
# keen spruce In my opinion, for all that it's worth (which isn't that much here), everything ...

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!

bold canopy
#

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!

cosmic copper
#

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 πŸ€™

modern kestrel
final ocean
carmine mural
silent bolt
#

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?

zealous plover
silent bolt
#

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."

jolly wolf
#

s!warn @silent bolt AI slopping long paragraphs is not appreciated here, use your human voice and answer questions and send messages yourself

silent bolt
jolly wolf
#

No, you're spamming the channel with slop.

tall prairie
#

i suggest taking it to #1457803836877176914 @silent bolt

sonic ermine
# final ocean I think small labs just want to have thier models show up better. I hear you, bu...

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

serene nimbus
#

Hey guys, where can I go for support, have a few questions

final ocean
#

@sonic ermine not disagreeing with you, open to solutions that dont complicate the problem future and works for all

serene nimbus
#

Installing openclaw on windows and need some help

sonic ermine
#

i mean i got like two DMs , but i see more wallowing in the queu (and they're legit)

bold canopy
zealous plover
final ocean
#

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

frank berry
#

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.

frail karma
# frail karma I think there's a gap to formalize the license definition for OpenClaw skills. ...

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!

  • GreptileAI summary is now 5 out of 5
  • Codex Agent gave a πŸ‘
  • Vercel Agent Review successful
zealous plover
modern kestrel
#

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.

https://github.com/openclaw/openclaw/pull/36683

versed kindle
modern kestrel
versed kindle
modern kestrel
versed kindle
#

@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?

modern kestrel
#

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.

versed kindle
#

I'll also give it a run and merge it if it doesn't break anything

modern kestrel
versed kindle
#

@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

modern kestrel
versed kindle
#

if you don't have time, no need to worry, I will credit you while merging

modern kestrel
#

Just added you to my fork

#

You can DM me if you want. I can pair on this too if you want...

versed kindle
# modern kestrel Just added you to my fork

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

modern kestrel
versed kindle
#

I don't wanna discredit you

modern kestrel
#

Done

magic vine
modern kestrel
#

@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.

versed kindle
#

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

modern kestrel
# versed kindle

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...

sharp ivy
#

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! 🧁

magic vine
#

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.

versed kindle
#

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?

versed kindle
modern kestrel
modern kestrel
magic vine
red sparrow
#

I am surprised that flow^ isn't automated

jolly wolf
#

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

versed kindle
magic vine
#

Thanks!

red sparrow
# jolly wolf Even if we banned them, technically they are still a contributor to the repo for...

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

jolly wolf
#

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

red sparrow
#

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

red sparrow
oak fiber
#

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.

sharp cargo
oak fiber
lethal tulip
#

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!

modern kestrel
sharp ivy
#

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.

oak fiber
zealous plover
keen spruce
#

That's clerly a promo. You may not be selling something, but still...

sour sapphire
#

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:

  1. No mention gating in the inbound flow
  2. No pending history for unmentioned messages
  3. 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. πŸ™

lime crane
#

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

versed kindle
#

it should be released hopefully today

lime crane
versed kindle
crisp linden
#

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 :)

lime crane
# versed kindle now that we support persistent bindings, yes, we could enable for others. but th...

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

versed kindle
lime crane
#

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.

versed kindle
#

sounds like it describes something that is already possible, except for whatsapp/signal

#

did you try to build on main?

modern kestrel
#

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.

modern kestrel
magic vine
#

@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.

jolly wolf
magic vine
#

@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

jolly wolf
#

im banning a lot of users right now for directly copying peoples PRs and spamming us

wise helm
#

oh makes sense

jolly wolf
#

there's likely another PR open that is the exact same fix, since most of that users PRs were dupes

wise helm
jolly wolf
#

maintainers will both have the orange role here and have a yellow maintainer label on their PRs

jolly wolf
#

all good

magic vine
jolly wolf
#

you're welcome to open one then!

inland field
#

@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

jolly wolf
#

shit

#

i forgot

inland field
#

Np lmao

crisp linden
wise helm
crisp linden
jolly wolf
#

actually they're already banned just havent closed their prs yet

red sparrow
final ocean
#

ahh merged lol

red sparrow
#

appreciate the offer anyway haha, thanks for all your incredible work!

tall prairie
#

Good pr idea. We need to do that for embedding providers too.

modern kestrel
wise helm
pure saffron
oblique eagle
#

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.

sharp cargo
#

Ok well sorry that you can’t handle contributing in the way they want you to

#

Like there are 5k open PRs lol

oblique eagle
#

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.

jolly wolf
#

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

oblique eagle
#

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.

jolly wolf
#

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

oblique eagle
#

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.

tall prairie
#

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.

last frigate
#

It's the right decision.

modern kestrel
#

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:

  1. Nothing stops devs from making a PR against your own fork back to main on 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 the openclaw repo when they reach that state
  2. 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.
jolly wolf
#

drafts are included, yeah

#

no one except maintainers have really been doing draft prs though

modern kestrel
#

Oh no... trusted contributor went away 😭

final ocean
#

We dont need peoppe to fix tests for CI

#

Maintainers will manage this

#

Sorry if im touchy about this πŸ˜‚πŸ«‘

wise helm
tall prairie
oak fiber
#

well, i have 4 opened PRs which not hit the limits of 10 opened PRs, wishing a review to be quickly

oak shard
#

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?

keen spruce
oak shard
lime anvil
oak shard
# jolly wolf

This should be resolved. It likely happened when I renamed the branch and then reopened the PR.

hoary pendant
#

Is there a channel in this discord to discuss qmd dev? Should it be a plugin or channel sub thread?

final ocean
#

@hoary pendant technically its a plugin

silk kestrel
#

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!

polar schooner
keen spruce
# silk kestrel Hi! Could anyone review this PR? PR #34205 https://github.com/openclaw/openclaw...

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.

silk kestrel
# keen spruce Sorry to hijack this, but as you (presumably) just had your finger in the tool c...

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. πŸ™‚

keen spruce
# silk kestrel A`custom` or `custom_script` tool sounds like a great addition, something easier...

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?

silk kestrel
keen spruce
#

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.

wise helm
#

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.

muted badger
#

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.

GitHub

Summary

Problem: for MiniMax OAuth users (minimax-portal), the image tool is missing by default because no vision model was resolved for that provider, when in fact MiniMax&#39;s Coding Plan p...

sour sapphire
# sour sapphire Hey everyone πŸ‘‹ I've been digging into a long-standing LINE channel bug β€” `requ...

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

pure saffron
# final ocean We dont need peoppe to fix tests for CI

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)

odd anchorBOT
#

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

karmic steepleBOT
#

@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.

wise helm
#

i sound so desperate sorry for this

brisk elk
rotund cape
#

heyo

modern kestrel
glossy yewBOT
# modern kestrel Anyone else seeing this? Fast mode on Codex Desktop turns it on / off for all t...

@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 **

empty fjord
#

so gng i accidentally left the serv and i lost the role

#

can i have it back

#

@clear kraken OwO

karmic steepleBOT
#

Added <@&1458375944111915051> to ! evil german man.

empty fjord
#

ty pookie

crisp linden
jolly wolf
crisp linden
#

Gotcha

hazy vigil
vestal pilot
weary notch
tall prairie
weary notch
# tall prairie 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 πŸ˜…

modern kestrel
#

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.

weary notch
modern kestrel
tall prairie
#

@modern kestrel can u pull latest main and verify the acp thread stuff you landed is still working?

modern kestrel
tall prairie
#

I assume everything is broke

modern kestrel
tall prairie
#

Sweet thanks. I need to get it set up myself so I can start using it.

modern kestrel
tall prairie
#

Nice thank you.

modern kestrel
#

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.

tall prairie
modern kestrel
proud thunder
#

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!

modern kestrel
zealous plover
proud thunder
zealous plover
pallid summit
lost kayak
wise helm
#

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.

proud thunder
keen spruce
#

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.)

jolly wolf
#

if you're referring to the tools.profile defaulting to messaging, that was a regression that's been un-done in the latest release

keen spruce
#

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...

wise helm
frail girder
#

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.

sonic ermine
vocal geyser
frail girder
#

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

hazy vigil
#

seems pretty obvious that's what he is doing lol

lean seal
#

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.

vocal geyser
#

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.

vocal geyser
lean seal
# vocal geyser 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.

vocal geyser
#

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.

lean seal
#

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

crisp linden
red sparrow
# frail girder Genuine mistake? i doubt it. He explicitly set base url and model to be deprecat...

@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

GitHub

The official MCP server implementation for the Perplexity API Platform - perplexityai/modelcontextprotocol

#

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

frail girder
#

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

red sparrow
#

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 kek)

red sparrow
#

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

frail girder
#

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

red sparrow
#

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

frail girder
#

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

vocal geyser
#

more likely openrouter issue tbh

grizzled rivet
#

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.

untold pollen
red sparrow
#

maybe be good to revert? apologies

wind crag
#

@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

tall prairie
#

Please don't ping Shadow for that. Mods will grant you the role.

untold pollen
#

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

red sparrow
#

looked at the changes, LGTM, agree this is the right approach! Thank you.

wind crag
tall prairie
#

we ship fast and break things, no harm no foul. Thanks for being active @red sparrow

grizzled rivet
vocal geyser
#

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

untold pollen
wise helm
#

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?

vocal geyser
wise helm
#

maybe another claw can help better lmao

vocal geyser
wise helm
vocal geyser
#

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

final ocean
grizzled rivet
sharp ivy
#

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 πŸ™‚

silent bolt
keen spruce
spiral swallow
#

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?

pallid summit
#

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!

brisk frost
#

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?

inland field
#

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

smoky lintel
#

@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. πŸ˜…

karmic steepleBOT
#

Added <@&1458375944111915051> to nickytonline.

dusky blaze
#

Congrats!

smoky lintel
past tinsel
#

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

tulip tusk
#

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

red sparrow
tulip tusk
red sparrow
#

@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

untold pollen
red sparrow
#

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

ocean hill
red sparrow
feral prism
untold pollen
feral prism
#

on it

zinc gorge
#

Hello

feral prism
untold pollen
feral prism
#

all good understood =]
just making sure I had what was needed

languid folio
#

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?

untold pollen
dark needle
wise token
tiny smelt
zealous plover
red sparrow
#

yes, after it was flagged

oak fiber
gleaming bay
#

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.

dry loom
#

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 : )

white galleon
# gleaming bay Hey β€” quick question about PR attribution when closed PRs get resubmitted. My P...

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

pallid summit
plain olive
languid folio
#

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

karmic steepleBOT
#

Added <@&1458375944111915051> to barron.

#

Added <@&1458375944111915051> to xialongLee.

compact stag
untold pollen
tall prairie
dry loom
wicked viper
#

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.

vocal geyser
# wicked viper **Bug Fix PR: ACP session spawning broken on v2026.3.9** πŸ› Ran into a bug wher...

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

GitHub

Summary

Fixes validation in sessions-patch.ts to allow spawnedBy and spawnDepth fields for ACP sessions
PR fix(acp): persist spawned child session historyΒ #40137 added spawnedBy to ACP session spa...

keen spruce
#

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.

tall prairie
#

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

keen spruce
#

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

tall prairie
keen spruce
#

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.

tall prairie
#

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.

untold pollen
#

Honestly at this scale there's just so many things breaking it's hard to isolate / reproduce issues to a single problem

untold pollen
#

And we still have users facing it ohno

tall prairie
#

too many permutations...

keen spruce
#

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 ;)=

untold pollen
#

We try to test every PR before merging but things still slip in

keen spruce
vocal geyser
#

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

grizzled rivet
# final ocean im looking into the full hooks surface area over the next few days

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)

final ocean
#

No changelog since its a ci change

grizzled rivet
# final ocean Merged

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

tall prairie
final ocean
arctic siren
modern kestrel
vocal geyser
neat elk
pale crane
#

Fixed a couple small ACP issues based on SuperagenticAI article I saw on X. cc/ @versed kindle

https://github.com/openclaw/openclaw/pull/41185

https://github.com/openclaw/openclaw/pull/41187

GitHub

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...

GitHub

Summary

Problem: handleChatEvent maps all gateway &quot;error&quot; states to ACP stop reason &quot;refusal&quot;. This is semantically wrong β€” &quot;refusal&quot; means th...

versed kindle
#

but there should be first class support for this already I think, what happens when you ask it to create acp subagent without thread?

versed kindle
magic vine
pale crane
versed kindle
pale crane
#

yup telegram on 2026.03.07 and it ran parallel sessions with Codex

versed kindle
pale crane
versed kindle
#

@pale crane I'm landing both PRs now, ty!!

pale crane
versed kindle
red sparrow
languid folio
keen spruce
#

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.

left mango
karmic steepleBOT
#

Added <@&1458375944111915051> to normie.

keen spruce
#

Then here you go. thumbs_up

left mango
keen spruce
magic vine
versed kindle
wise meteor
karmic steepleBOT
#

Added <@&1458375944111915051> to miotch.

wise meteor
#

awesome. thx

smoky lintel
pallid summit
vocal geyser
pale crane
karmic steepleBOT
weary notch
marsh seal
bronze pike
#

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.

keen spruce
# bronze pike Hi there peeps. I've been wondering about something -- I think it'd be nice if g...

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).

keen spruce
#

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)

wind crag
#

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

left mango
#

Have you posted anywhere how you/ June Oven are using OpenClaw? I would love to check it out.

wind crag
#

@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.

left mango
glossy python
dark needle
keen spruce
left mango
#

If yes, the bug report can be closed

soft flicker
#

@keen spruce what are qualifications to get added to contributors? I've had a couple of feature PRs, but nothing picked up yet.

karmic steepleBOT
jolly wolf
#

You need a merged PR

soft flicker
#

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.

jolly wolf
#

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

soft flicker
jolly wolf
#

the idea is good, your implementation is awful

#

what ai agent are you using

soft flicker
#

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.

jolly wolf
#

close the pr, start from scratch, and use codex entirely for coding it. slopus is too narrow minded

soft flicker
#

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.

shell dawn
jolly wolf
#

personally yes

#

5.3 codex fights against bad decisions more imo

shell dawn
#

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

compact stag
#

Where can I get the SOP of merging a pr?

hoary pendant
#

the more fixes based on the greptile&codex review comments I add ... the worse the greptile score becomes πŸ™‚

untold pollen
valid jay
#

hi everyone

#

is this the right place to share skills?

valid jay
#

can i share something i just built?

pulsar arch
coarse stag
#

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

viral rock
#

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?

viscid lotus
#

Which branch is used for releasing a new version?

viral rock
#

main I guess, if the git branch is what you refer to?

novel monolith
#

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

GitHub

Summary
Describe the problem and fix in 2-5 bullets:

Problem: Provider API key env vars injected by OpenClaw auth were being inherited by ACP child processes.
Why it matters: Some ACP tools (for e...

left mango
lost kayak
fossil adder
#

May joy and abundance find you as well!

true obsidian
pallid summit
tardy fossil
#

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

wide panther
#

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

languid folio
#

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.

pallid summit
slim vessel
hoary pendant
#

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.

left mango
jolly wolf
versed kindle
vocal geyser
#

@versed kindle sent friend request

versed kindle
#

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

hoary pendant
versed kindle
dawn light
#

Hi @jolly wolf, why PRs are not getting reviewed or merged. I am seeing a pattern only maintainers PRs are getting merged.

jolly wolf
dawn light
zealous plover
# dawn light 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.)

wise meteor
#

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.

https://openclaw-pulse-sigma.vercel.app/

jolly wolf
tall prairie
#

Building a triage dashboard/tool is a rite of passage

wise meteor
#

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.

shell dawn
#

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

wise meteor
#

i'd prefer to keep all of this above the line.

shell dawn
#

yes, it was half a joke and half my tendency to not want to reinvent the wheel

pallid summit
modern kestrel
# wise meteor Hey Clawtributors! this is relevant to <@996706625765245019> and <@333385547080...

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.

left mango
#

Sharing this just in case maintainers are not aware that the build is failing

hoary pendant
# hoary pendant I did a thing ... I know you don't want things ... but I did it anyway. **Supp...

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?

fleet mauve
#

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:

  1. #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.

  2. #42322 β€” Feishu replyToMode config
    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 have replyToMode β€” this brings Feishu to parity. Only 20 lines changed.

Both are small, focused changes. Would really appreciate a review when someone has a moment πŸ™

scarlet mantle
#

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.

wide hatch
#

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! 🦞

keen spruce
# scarlet mantle Hopefully this is the right place to ask but as a automation developer how does ...

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).

keen spruce
wide hatch
# keen spruce if you could at least tag each link with the area it touches (e.g. "ios app", "a...

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

naive kindle
untold pollen
sour dagger
#

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.

drowsy thorn
#

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:

Core / CLI:

Channels:

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)

languid folio
#

man my cat typed gibberish to this channel while I was eating dinner….

#

very sorry

hoary pendant
fringe rock
noble iris