The URL sync effect and hydration effect run in the same React render cycle. Since React state updates (setActivePath) are batched, the URL sync effect still saw activePath=null and pushed "/", stripping all query params. This caused an alternating refresh bug where odd refreshes showed the homepage and even refreshes worked correctly. Skip the URL sync effect for one render after hydration completes, giving React state time to update before the effect writes the URL.
Website · Discord · Skills Store
Install
Node 22+ required.
npx denchclaw
Opens at localhost:3100 after completing onboarding wizard.
Commands
npx denchclaw # runs onboarding again for openclaw --profile dench
npx denchclaw update # updates denchclaw with current settings as is
npx denchclaw restart # restarts denchclaw web server
npx denchclaw start # starts denchclaw web server
npx denchclaw stop # stops denchclaw web server
# some examples
openclaw --profile dench <any openclaw command>
openclaw --profile dench gateway restart
openclaw --profile dench config set gateway.port 19001
openclaw --profile dench gateway install --force --port 19001
openclaw --profile dench gateway restart
Development
git clone https://github.com/DenchHQ/DenchClaw.git
cd denchclaw
pnpm install
pnpm build
pnpm dev
Web UI development:
pnpm install
pnpm web:dev
Open Source
MIT Licensed. Fork it, extend it, make it yours.
Languages
TypeScript
73.8%
JavaScript
17.1%
Swift
6.1%
Kotlin
1.4%
Shell
0.9%
Other
0.6%