codex have auth.json. claude is using credentials.json on Linux, Keychain on MacBook. I prefer to just use a long lived token instead for Claude due to this.
I have my own Docker image for similar purpose, which is for multiple agent providers. Works great so far.