How to connect another app to your pooled Codex accounts
If an app already speaks an OpenAI-compatible Responses or Chat Completions API shape, point it at CodexUse Accounts Pool. It gets one local API backed by pooled quota across your selected saved accounts, with load balancing and failover built in.
When this setup makes sense
- You already keep multiple Codex accounts saved in CodexUse.
- Another app wants one base URL and one key.
- You want more total headroom than a single account can give.
- You want CodexUse to load-balance fresh work and fail over when one account hits trouble.
Five-minute setup
- Open Connect → Account Pool.
- Select the profiles that should be available to the pool.
- Choose the model names the other app should see.
- Generate a local pool key.
- Paste the base URL and key into the other app.
CLI version of the same setup
The same configuration workflow is available from the terminal:
codexuse account-pool profiles set Work Personal
codexuse account-pool status --runtime=desktop
codexuse account-pool keys create --runtime=desktop
Use the base URL shown by the running desktop app with the key created for that desktop runtime.
Quick verification
Before touching the client, verify the pool directly from your terminal.
curl http://127.0.0.1:PORT/v1/models \
-H "Authorization: Bearer cux_pool_..."
curl http://127.0.0.1:PORT/v1/responses \
-H "Authorization: Bearer cux_pool_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"input": "List the next three release risks in this repo."
}'
curl http://127.0.0.1:PORT/v1/chat/completions \
-H "Authorization: Bearer cux_pool_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [{"role": "user", "content": "List the next three release risks in this repo."}]
}'
Choose the right published models
Do not dump every model ID into the pool. Publish only the base models and alias variants the other app will actually use. Setup stays simple, and the real value stays where it belongs: shared quota and better routing across accounts.
| Need | What to publish |
|---|---|
| General default model | One base model ID such as gpt-5.5 |
| Consistent deep reasoning | A reasoning-specific alias with forced effort |
| Lower-friction side tasks | A smaller exposed base model such as gpt-5.4-mini |
Pick the routing strategy deliberately
- Least used: good when you want the pool to favor whichever selected account has the most breathing room.
- Round robin: good when you want fresh sessions to spread more evenly.
Once the pool creates a logical session, CodexUse keeps it on that account unless a rollover is needed. You get load balancing for fresh work without losing continuity on later turns.
Troubleshooting
| Symptom | What to check |
|---|---|
| 401 or invalid key | Generate a fresh pool key from Settings or with codexuse account-pool keys create --runtime=desktop, and make sure the other app uses that key instead of your OpenAI credentials. |
| Model not found | Publish that model ID in Accounts Pool first. The other app can only request what the pool exposes on /v1/models. |
| No extra headroom | Check whether the selected profiles are really distinct OpenAI accounts. Duplicate logins still share limits. |
| Pool unavailable | Confirm Accounts Pool is visible in Settings or via codexuse account-pool status, and that your license includes the feature. |