So I stood up my own Woodpecker instance, hephestus, and it mostly works, but it starts failing mysteriously if I'm not constantly re-logging in.
I'm getting error messages in the logs like:
{"level":"error","error":"oauth2: \"unauthorized_client\" \"token was already used\"","time":"2025年12月05日T16:47:29Z","message":"refresh oauth token of user 'AstraLuma' failed"}
{"level":"error","error":"user does not exist [uid: 0, name: ]","repo":"teahouse/handtruck","user":"AstraLuma","time":"2025年12月05日T16:47:30Z","message":"could not get folder from forge: user does not exist [uid: 0, name: ]"}
{"level":"error","repo":"teahouse/handtruck","error":"configFetcher: fallback did not find config: user does not exist [uid: 0, name: ]\nuser does not exist [uid: 0, name: ]\nuser does not exist [uid: 0, name: ]","time":"2025年12月05日T16:47:31Z","message":"error while fetching config '' in 'refs/heads/trunk' with user: 'AstraLuma'"}
I can't tell if this is a bug in forgejo, a misconfiguration on my part, or a quirk of codeberg.
### Comment
So I stood up my own Woodpecker instance, hephestus, and it mostly works, but it starts failing mysteriously if I'm not constantly re-logging in.
I'm getting error messages in the logs like:
```
{"level":"error","error":"oauth2: \"unauthorized_client\" \"token was already used\"","time":"2025年12月05日T16:47:29Z","message":"refresh oauth token of user 'AstraLuma' failed"}
```
```
{"level":"error","error":"user does not exist [uid: 0, name: ]","repo":"teahouse/handtruck","user":"AstraLuma","time":"2025年12月05日T16:47:30Z","message":"could not get folder from forge: user does not exist [uid: 0, name: ]"}
```
```
{"level":"error","repo":"teahouse/handtruck","error":"configFetcher: fallback did not find config: user does not exist [uid: 0, name: ]\nuser does not exist [uid: 0, name: ]\nuser does not exist [uid: 0, name: ]","time":"2025年12月05日T16:47:31Z","message":"error while fetching config '' in 'refs/heads/trunk' with user: 'AstraLuma'"}
```
I can't tell if this is a bug in forgejo, a misconfiguration on my part, or a quirk of codeberg.